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

如何修复Laravel 5.4中php artisan serve启动时的PDO_MySQL加载错误

解决PHP启动时pdo_mysql相关警告的问题

嘿,我来帮你搞定这两个烦人的PHP启动警告!从你给出的错误信息来看,这俩问题其实都是环境配置不匹配导致的,一步步来就能解决:

先搞懂警告背后的原因

咱们先拆解下这两个警告:

  1. 第一个警告:Unable to load dynamic library '/usr/lib/php/20151012/php_pdo_mysql.dll'
    • 你肯定是在Linux环境下(从/usr/lib/php/...这个路径能看出来),但php_pdo_mysql.dll是Windows系统专属的扩展文件,Linux压根不认这个格式,所以这行配置完全是多余的,找不到文件很正常。
  2. 第二个警告:pdo_mysql.so: undefined symbol: pdo_parse_params
    • 这个错误说明pdo_mysql.so扩展依赖的基础pdo.so扩展没加载,或者加载顺序不对,也有可能是pdo_mysql扩展和你的PHP版本不兼容。

具体解决步骤

步骤1:清理php.ini里的Windows无效配置

首先找到你的PHP配置文件位置,执行命令:

php --ini | grep "Loaded Configuration File"

打开输出的那个php.ini文件,搜索extension=php_pdo_mysql.dll或者extension=pdo_mysql.dll,把这行注释掉(在前面加个;就行),然后保存退出。

步骤2:确保pdo扩展先于pdo_mysql加载

同样在php.ini里,检查扩展加载顺序:

  • 必须保证extension=pdo.so(或者有些版本是extension=pdo)在extension=pdo_mysql.so(或extension=pdo_mysql)之前加载。
  • 如果找不到extension=pdo.so,说明pdo基础扩展没安装,得先装上:

针对Debian/Ubuntu系统(你的PHP版本是20151012,对应PHP7.0)

sudo apt-get install php7.0-pdo php7.0-mysql

针对CentOS/RHEL系统

sudo yum install php-pdo php-mysql

步骤3:验证扩展是否正常加载

执行下面的命令,看看pdo和pdo_mysql有没有成功加载:

php -m | grep -E "pdo|mysql"

如果输出里能看到pdo和pdo_mysql,那就说明加载没问题了。

步骤4:重启相关服务(按需操作)

如果你的项目用的是PHP-FPM,得重启FPM服务:

# Debian/Ubuntu
sudo systemctl restart php7.0-fpm
# CentOS/RHEL
sudo systemctl restart php-fpm

要是你只是用php artisan serve跑服务,直接关掉重新启动命令就行。


最后验证

再执行一次php artisan serve,那两个讨厌的警告应该就消失啦~

内容的提问来源于stack exchange,提问作者Amor.o

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:51:43