将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,所以感觉很不好。

尝试确认 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。
一想到,又出现错误。无法启动。

当我继续调查时,发现如果编译器等方面有所不同,则无法重复使用设置文件等。进一步调查后,似乎有一种名为SAPI模块的东西发生了变化。
Apache2Handler 的中文释义是 Apache2处理器。
PHP官方文档已经将PHP模块的名称从php7_module更改为php_module。
根据所说,将xampp\apache\conf\extra\http-xampp.conf文件中标有php_module的部分改为php7_module。总共有4个位置需要修改。
诚实地说,我不知道哪一个起作用。
第三次尝试,Apache启动。
这次顺利地启动了。