Ubuntu 22.04中解决PHP启动无法加载动态库问题
解决Ubuntu 22.04下PHP 7.4的PDO/Mysql扩展启动警告
一、清理无效配置项
先处理导致报错的无效或重复配置:
- 打开PHP CLI的主配置文件:
sudo nano /etc/php/7.4/cli/php.ini - 找到并删除这行(Windows平台专属扩展,Linux环境完全不需要):
extension=php_pdo_mysql.dll - 查找是否有
extension=pdo.so这行,从你的php --ini输出看,系统已经通过10-pdo.ini加载了PDO,所以把这行注释掉(在行前加;):;extension=pdo.so - 找到所有手动添加的
extension=pdo_mysql.so或extension=php_pdo_mysql.so行,先注释掉,后续安装官方包会自动生成正确配置。
二、安装官方MySQL扩展包
Ubuntu下直接用apt安装官方维护的扩展,避免路径和兼容性问题:
- 更新软件源:
sudo apt update - 安装PHP 7.4对应的mysqlnd、pdo_mysql和mysqli扩展:
注:这个包已包含mysqlnd、pdo_mysql和mysqli三个扩展,安装后系统会自动在sudo apt install php7.4-mysql/etc/php/7.4/cli/conf.d/目录生成正确的配置文件。
三、验证修复效果
- 如果是网页环境,重启PHP-FPM使配置生效:
sudo systemctl restart php7.4-fpm - 执行以下命令检查扩展加载情况,确认无警告:
再用命令查看已加载的相关模块:php --ini
正常情况下会列出这些模块,且不再出现启动警告。php -m | grep -E 'PDO|pdo_mysql|mysqli|mysqlnd'
四、额外排查(若问题依旧)
- 检查
/etc/php/7.4/cli/conf.d/目录,删除任何手动添加的重复扩展配置文件(比如自行创建的pdo_mysql.ini)。 - 用
dpkg -L php7.4-mysql查看扩展文件的实际安装路径,确认系统加载路径与实际路径一致。
内容的提问来源于stack exchange,提问作者Cse Rajesh
相关产品推荐
相关产品推荐

