CentOS下PHP从5.6升级至7.4后Apache 2.4.6启动失败咨询
CentOS 下PHP从5.6升级到7.4后Apache启动失败解决方案
故障根因
错误本质是升级PHP7.4后,原有PHP5的Apache模块配置文件残留,系统找不到已经被删除的libphp5.so文件导致启动失败。
排查步骤
- 确认PHP7.4对应的Apache模块是否已正确安装,执行命令:
检查返回结果中是否存在yum list installed | grep phpphp74-php或mod_php类安装包,CentOS下PHP7.4对应的Apache模块包通常为php74-php.x86_64。 - 检查Apache模块目录下是否存在PHP7对应的so文件,执行命令:
正常安装后应返回ls /etc/httpd/modules/ | grep libphplibphp7.so或libphp7.4.so文件。 - 检查Apache模块配置目录下是否存在PHP7对应的加载配置,执行命令:
升级正常的情况下会生成类似ls /etc/httpd/conf.modules.d/ | grep php10-php74.conf或php7.load的配置文件。
修复步骤
- 删除残留的PHP5模块加载配置文件:
rm -f /etc/httpd/conf.modules.d/php5.load - 若排查后未找到PHP7对应的模块加载配置,手动创建配置文件
/etc/httpd/conf.modules.d/php7.load,写入以下内容:
注意:如果实际模块文件名是libphp7.4.so,需要替换为对应实际文件名LoadModule php7_module modules/libphp7.so - 验证Apache配置合法性:
返回apachectl configtestSyntax OK代表配置无错误。 - 重启Apache服务生效:
systemctl restart httpd
效果验证
重启完成后可执行echo "<?php phpinfo(); ?>" > /var/www/html/info.php,访问服务器对应地址的/info.php,确认PHP版本显示为7.4即修复完成。
内容的提问来源于stack exchange,提问作者Hasan Raza
相关产品推荐
相关产品推荐

