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

Laragon环境下OOP项目出现could not find driver错误求助

解决PDO "could not find driver" 错误(Laragon环境)

针对你在Laragon开发OOP项目时遇到的PDO MySQL驱动找不到的问题,以下是几个针对性的排查和解决步骤:

1. 确认当前项目使用的PHP版本对应的php.ini路径

首先要确保你修改的是Laragon当前激活的PHP版本的配置文件,而非系统或其他版本的。可以在项目中新建一个info.php文件,内容如下:

<?php phpinfo(); ?>

访问这个文件,找到Loaded Configuration File项,查看当前加载的php.ini的绝对路径,确保后续修改的是这个文件。

2. 彻底检查pdo_mysql扩展的启用状态

打开上述路径的php.ini文件,找到以下行:

;extension=pdo_mysql

去掉前面的分号;,确保该行变为:

extension=pdo_mysql

注意:PHP 7及以上版本不需要加.dll后缀,Laragon默认配置可能已去掉分号,但仍需仔细确认。

3. 验证PDO可用驱动列表

在项目中临时添加一段代码,检查PDO是否真的加载了MySQL驱动:

<?php var_dump(PDO::getAvailableDrivers()); ?>

执行后如果输出里没有mysql,说明驱动确实未加载,回到步骤2重新检查配置,或确认PHP版本是否兼容(Laragon一般自带适配的扩展,但仍需排查)。

4. 重启Laragon所有服务

修改php.ini后,必须重启Laragon的Web服务器(Apache/Nginx)和MySQL服务才能生效。右键点击Laragon托盘图标,选择Restart All即可。

5. 确认MySQL服务正常且数据库可访问

  • 检查Laragon托盘图标中的MySQL状态,确保是绿色运行状态。
  • 打开Laragon的Database工具,用root账号、空密码连接127.0.0.1,确认oop数据库存在,且能正常查询users表。

6. 优化DSN连接字符串

尝试在DSN中明确指定MySQL端口(Laragon默认是3306),修改User模型中的PDO初始化代码:

static::$pdo = new \PDO(
    'mysql:dbname=' . Constant::DB_NAME . ';host=' . Constant::DB_HOST . ';port=3306',
    Constant::DB_USERNAME,
    Constant::DB_PASSWORD,
    [
        \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_OBJ,
        \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
    ]
);

有时候端口未指定会导致连接异常。

7. 检查系统环境变量中的PHP版本

打开命令提示符(cmd),执行以下命令:

php -v

确认输出的PHP版本和Laragon当前使用的版本一致;再执行:

php -m

查看输出的模块列表中是否有pdo_mysql。如果版本不一致,说明系统优先使用了其他PHP版本,需要调整环境变量,将Laragon的PHP目录移到PATH最前面。


内容的提问来源于stack exchange,提问作者el_jefe213

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 18:31:19