You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至虚拟主机后PHP启动无法加载pdo_mysql.so动态库如何解决?

嘿,这个问题我在cPanel环境下碰到过好多次,尤其是项目迁移后容易出现。咱们一步步来排查解决:

解决PHP 5.6无法加载pdo_mysql.so的问题

1. 先确认pdo_mysql扩展是否已安装

错误提示说文件找不到,首先得确认这个扩展有没有真的装在服务器上:

  • 如果你用cPanel面板,登录后找到Select PHP Version工具,在扩展列表里找pdo_mysql选项。如果没勾选,直接勾选后保存,面板会自动帮你安装并配置好扩展。
  • 如果你有SSH权限,也可以用命令行检查:
    /opt/cpanel/ea-php56/root/usr/bin/php -m | grep pdo_mysql
    
    如果没有任何输出,说明扩展没安装,运行下面的命令安装依赖包:
    /usr/local/cpanel/scripts/check_cpanel_rpms --fix --rpm ea-php56-php-pdo
    /usr/local/cpanel/scripts/check_cpanel_rpms --fix --rpm ea-php56-php-mysqlnd
    
    (pdo_mysql依赖mysqlnd驱动,所以这两个包都要确保安装)

2. 检查php.ini的扩展配置是否正确

有时候扩展装了,但配置文件里的路径写错了:

  • 先找到PHP 5.6对应的php.ini文件,运行命令:
    /opt/cpanel/ea-php56/root/usr/bin/php --ini
    
    找到Loaded Configuration File对应的路径(比如/opt/cpanel/ea-php56/root/etc/php.ini)。
  • 打开这个文件,搜索extension=pdo_mysql.so:
    • 如果这一行不存在,手动添加extension=pdo_mysql.so(不需要绝对路径,只要extension_dir配置正确的话);
    • 如果写了绝对路径,确认路径是/opt/cpanel/ea-php56/root/usr/lib64/php/modules/pdo_mysql.so,如果文件实际不在这个位置,检查extension_dir配置项是否指向正确的模块目录:
      extension_dir = "/opt/cpanel/ea-php56/root/usr/lib64/php/modules/"
      
  • 修改后保存,重启PHP-FPM或者Apache服务(根据你的运行环境选择)。

3. 修复损坏或缺失的PHP文件

迁移过程中可能导致部分文件丢失或损坏,用cPanel的rpm修复工具一键修复:

/usr/local/cpanel/scripts/check_cpanel_rpms --fix

这个命令会扫描所有cPanel相关的rpm包,自动修复损坏、缺失的文件,包括PHP扩展文件。

4. 建议:升级PHP版本(如果项目兼容的话)

PHP 5.6已经停止官方支持很多年了,安全性和性能都很差。如果你的项目代码兼容更高版本,建议直接在cPanel的Select PHP Version里切换到PHP 7.4或8.1这类稳定版本——这些版本默认就会安装好pdo_mysql扩展,还能避免很多老旧版本的安全问题。


内容的提问来源于stack exchange,提问作者saim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:05:28