Ubuntu22.04下Apache2+PHP7.4的PDODb驱动找不到问题求助
解决PDO "could not find driver" 错误的步骤
1. 确认Apache的PHP模块已加载pdo_mysql扩展
Ubuntu中PHP的CLI和Apache模块使用不同的配置文件,你当前仅确认了CLI环境的扩展状态,需检查Apache对应的PHP配置:
- 查看Apache的PHP配置中是否启用pdo_mysql:
sudo grep -n "pdo_mysql" /etc/php/7.4/apache2/php.ini - 如果输出中
extension=pdo_mysql行被注释(开头有;),编辑该文件取消注释:
找到sudo nano /etc/php/7.4/apache2/php.ini;extension=pdo_mysql,删除前面的;,保存退出。 - 重启Apache生效:
sudo systemctl restart apache2 - 验证:在网站根目录创建
phpinfo.php,内容为:
访问<?php phpinfo(); ?>http://localhost/phpinfo.php,搜索pdo_mysql,确认存在相关模块信息。
2. 修正数据库连接类型配置
你的config.php中定义了DB_TYPE = "mysqli",但代码使用的是PDO连接。PDO的MySQL驱动名称为mysql而非mysqli,这会导致生成错误的连接字符串:
修改config.php中的DB_TYPE:
define("DB_TYPE", "mysql");
3. 确认php7.4-mysql包已安装
pdo_mysql扩展依赖php7.4-mysql包,执行以下命令确认安装状态:
sudo apt list --installed | grep php7.4-mysql
如果未安装,执行安装命令后重启Apache:
sudo apt install php7.4-mysql sudo systemctl restart apache2
完成以上步骤后,重新测试登录功能。
内容的提问来源于stack exchange,提问作者Worst
相关产品推荐
相关产品推荐

