Azure Ubuntu虚拟机PHP 8.0无法连接Azure数据库问题排查
PDO MySQL驱动缺失导致数据库连接失败的原因分析
核心问题
你执行php -m输出的PHP扩展列表中,仅包含PDO基础组件、mysqlnd底层驱动以及pdo_sqlite(SQLite的PDO驱动),缺少连接MySQL必需的pdo_mysql扩展。没有这个驱动,PDO无法解析mysql:开头的连接字符串,因此触发"could not find driver"的致命错误。
关键说明
mysqlnd是MySQL的原生驱动,负责提供底层数据交互能力,但它不能直接替代pdo_mysql——后者是专门为PDO实现的MySQL接口扩展,二者功能互补,缺一不可。- 你的PHP环境仅安装了PDO框架和SQLite驱动,未安装适配MySQL的PDO驱动组件。
修复步骤(Azure Ubuntu环境)
- 更新系统软件源:
sudo apt update - 根据当前PHP版本安装
pdo_mysql扩展(以PHP 8.1为例,WordPress 6.1.1兼容该版本):sudo apt install php8.1-mysql - 重启Web服务器(根据你使用的服务选择命令):
# 若使用Nginx sudo systemctl restart nginx # 若使用Apache sudo systemctl restart apache2 - 再次执行
php -m,确认pdo_mysql已出现在扩展列表中。 - 额外提示:WordPress自带数据库连接逻辑,无需手动在
wp-config.php中编写PDO实例代码,删除这段自定义代码后,确保DB_NAME、DB_USER、DB_PASSWORD、DB_HOST等常量配置正确即可正常连接数据库。
内容的提问来源于stack exchange,提问作者Claudio M
相关产品推荐
相关产品推荐

