PHP 8.3无法加载pdo_mysql驱动,Docker MySQL连接失败求助
解决PHP 8.3无法加载pdo_mysql驱动的问题
针对你遇到的问题,按以下步骤排查修复:
安装对应PHP版本的mysql扩展
由于你使用的是ppa:ondrej/php的PHP 8.3,需安装版本匹配的扩展包,而非通用的php-mysql:sudo apt update && sudo apt install php8.3-mysql确认修改的是CLI版本的php.ini
PHP内置服务器使用CLI模式的配置文件,执行以下命令找到正确路径:php -i | grep "Loaded Configuration File"打开该路径的php.ini,确保
extension=pdo_mysql未被注释(无需写.so后缀,PHP会自动匹配)。验证扩展目录与文件权限
执行命令获取PHP扩展目录:php -i | grep "extension_dir"确认
pdo_mysql.so存在于该目录,同时检查文件权限:ls -l $(php -i | grep -oP 'extension_dir => \K.*')/pdo_mysql.so确保文件权限为
-rw-r--r--(644),所属用户组为root:root。检查扩展依赖是否完整
使用ldd命令查看pdo_mysql.so的依赖库是否缺失:ldd $(php -i | grep -oP 'extension_dir => \K.*')/pdo_mysql.so若出现
not found的依赖,安装对应的库,例如:sudo apt install libmariadb-dev重置扩展缓存并测试
执行命令重置PHP扩展缓存:sudo php8.3 enmod pdo_mysql然后测试驱动是否加载成功:
php -r "print_r(PDO::getAvailableDrivers());"若输出包含
mysql,说明驱动已加载,重新启动PHP内置服务器即可正常访问index.php。
内容的提问来源于stack exchange,提问作者pippen
相关产品推荐
相关产品推荐

