Kubuntu16.04升级PHP7.2.4后PDO MySQL驱动加载失败求助
解决Kubuntu 16.04中PHP7.2.4无法加载pdo_mysql扩展的问题
我之前在Kubuntu 16.04上部署PHP7.2的时候,也碰到过几乎一模一样的报错,折腾了几次终于搞定了,给你分享几个亲测有效的解决步骤:
第一步:确认php7.2-mysql扩展是否安装
先在终端里跑这个命令,检查扩展有没有装:dpkg -l | grep php7.2-mysql如果没有任何输出,说明扩展没安装,直接执行安装命令:
sudo apt-get update && sudo apt-get install php7.2-mysql安装完成后,记得重启你的Web服务(PHP-FPM或者Apache):
# 用PHP-FPM的话 sudo systemctl restart php7.2-fpm # 用Apache的话 sudo service apache2 restart第二步:检查扩展文件路径与软链接
如果已经装了扩展还是报错,大概率是路径不对或者符号依赖问题。先找到pdo_mysql.so的实际位置:find / -name pdo_mysql.so对比报错里的路径
/usr/lib/php/20170718/,如果实际文件不在这个目录,就创建软链接把它拉过去:sudo ln -s /实际找到的路径/pdo_mysql.so /usr/lib/php/20170718/pdo_mysql.so做完之后重启服务再试。
第三步:重装扩展清理残留
如果上面的方法没用,可能是安装过程中残留了错误文件,试试彻底卸载再重装:sudo apt-get purge php7.2-mysql sudo apt-get autoremove sudo apt-get update && sudo apt-get install php7.2-mysql重装后同样要重启服务。
第四步:验证php.ini配置
有时候是php.ini里没启用扩展,先找到当前PHP加载的配置文件:php --ini打开输出里的
Loaded Configuration File对应的文件,查找extension=pdo_mysql.so这一行:- 如果没有,就手动加上这一行
- 如果有,确保前面没有被注释(去掉开头的
;)
修改保存后重启服务。
最后验证扩展是否加载成功
执行下面的命令,如果能看到pdo_mysql,说明扩展已经正常加载了:php -m | grep pdo_mysql这时候再测试PDO连接MySQL应该就没问题了。
内容的提问来源于stack exchange,提问作者Glioburd
相关产品推荐
相关产品推荐

