RHEL7.9环境下PHP 5.4.16无法加载MySQL模块导致mysql_pconnect()未定义及HTTP 500错误求助
RHEL7.9环境下PHP 5.4.16无法加载MySQL模块导致mysql_pconnect()未定义及HTTP 500错误求助
看起来你遇到的问题核心是PHP没有安装并启用MySQL扩展,导致旧的mysql_pconnect()函数找不到,进而触发HTTP 500错误。咱们一步步来解决:
1. 安装PHP的MySQL扩展包
在RHEL 7.9上,对应PHP 5.4的MySQL扩展包是php-mysql,通过yum直接安装即可:
sudo yum install php-mysql
这个包会自动处理依赖,把PHP和MySQL交互需要的模块文件安装到正确的目录。
2. 重启Apache服务让扩展生效
安装完成后,必须重启httpd服务,这样PHP才能加载新安装的MySQL模块:
sudo systemctl restart httpd.service
3. 验证扩展是否成功加载
- 运行
php -m命令,查看输出的[PHP Modules]列表里是否出现mysql项; - 重新访问你的phpinfo()页面,检查是否出现MySQL相关的配置区块。
额外说明
mysql_pconnect()属于旧的MySQL扩展,这个扩展在PHP 5.5之后就被官方标记为废弃,PHP 7更是直接移除了它。如果后续有升级PHP的计划,建议你把代码迁移到mysqli扩展(MySQLi是MySQL扩展的增强版,支持面向对象和过程式调用)或者PDO,这样不仅更安全,也能兼容更高版本的PHP。不过当前你的PHP 5.4版本还支持这个旧扩展,所以安装php-mysql就能解决当前的问题。
另外你提到的“phpinfo()里没有mysql section”“php -m里看不到mysql模块”,确实说明PHP没有配置MySQL支持——虽然你服务器上的MySQL服务在运行,也装了MySQL的系统库,但PHP需要专门的扩展来和MySQL服务交互,这部分之前是缺失的。
备注:内容来源于stack exchange,提问作者demiglace
相关产品推荐
相关产品推荐

