将XAMPP中的PHP版本从PHP8降级到PHP7

将XAMPP中的PHP版本从PHP8降级到PHP7。

在哪裡使用

    • XAMPP 8.0 (PHP 8.0)

 

    windows10

背景情况

我是用PHP7开发的Laravel应用程序,但当我尝试在另一台计算机上(使用PHP8)运行时无法打开!composer install出现了错误。似乎是因为PHP版本不同被怒斥了一番。所以我决定降级PHP版本。

将XAMPP中的Apache删掉。

听起来最好不要在启动的同时进行操作。

下载PHP7

从官方网页下载PHP7。本次下载的是VC15 x64 Thread Safe (2021-Jan-05 18:10:24)这个文件。

备份XAMPP中的PHP目录

尽管复制也可以,但我将目录名从PHP更改为PHP8。

将下载的PHP7目录移动到XAMPP目录中作为PHP目录。

创建一个新的PHP目录,并将解压的PHP7相关文件全部放入其中。

将PHP8中使用的php.ini文件复制到PHP7(PHP目录)中。

复制并直接使用。

编辑Apache的PHP配置

将位于C:\xampp\apache\conf\extra\httpd-xampp.conf文件中标有PHP8的部分全部替换成PHP7。

启动Apache。

我刚一想到,Apache启动不起来!!!!
在关机时出现了意外错误…写着类似的事情!?
不祥的预感。我以前有一次MySQL无法启动的情况,于是重新安装了XAMPP,所以感觉很不好。

image.png

尝试确认 PHP 的版本

在命令提示符中输入php -v试试。
出现错误,似乎说文件不存在的样子。

PHP Warning:  Cannot open 'C:\xampp\php\extras\browscap.ini' for reading in Unkno
wn on line 0

Warning: Cannot open 'C:\xampp\php\extras\browscap.ini' for reading in Unknown on
 line 0
PHP Fatal error:  Unable to start standard module in Unknown on line 0

Fatal error: Unable to start standard module in Unknown on line 0

我不太清楚,但是在PHP8的目录中有一个xampp\php\extras\browscap.ini文件,所以我尝试将其复制到PHP7的xampp\php\extras文件夹中。

请再次确认版本

当启动XAMPP的shell并输入php -v时,可以清楚地看到PHP版本已从PHP8更改为PHP7。

现在,开始启动Apache。

一想到,又出现错误。无法启动。

image.png

当我继续调查时,发现如果编译器等方面有所不同,则无法重复使用设置文件等。进一步调查后,似乎有一种名为SAPI模块的东西发生了变化。

Apache2Handler 的中文释义是 Apache2处理器。

PHP官方文档已经将PHP模块的名称从php7_module更改为php_module。

根据所说,将xampp\apache\conf\extra\http-xampp.conf文件中标有php_module的部分改为php7_module。总共有4个位置需要修改。

诚实地说,我不知道哪一个起作用。

第三次尝试,Apache启动。

这次顺利地启动了。

bannerAds