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

Azure Windows Web App中Laravel连接Azure MySQL报PDO驱动未找到

问题:Laravel连接Azure MySQL时提示"could not find driver"

我在Laravel应用中尝试连接Azure MySQL数据库时,碰到了这个错误:

In PDOConnection.php line 50: could not find driver

已经做了这些排查操作,但问题依然存在:

  • 确认Web App里已经有php_pdo_mysql.dll文件
  • 创建了extensions.ini并添加了驱动路径配置:
    extension=D:\Program Files\PHP\v7.2\ext\php_pdo_mysql.dll
    
  • 通过phpinfo确认extensions.ini已经被PHP正确加载,但PDO驱动列表里还是看不到MySQL

解决方案建议

1. 核对驱动与PHP版本的兼容性

首先要确认php_pdo_mysql.dll是完全适配PHP 7.2的版本——包括线程安全(TS)/非线程安全(NTS)、x86/x64架构,这些不匹配的话驱动是无法加载的。另外也可以再检查下驱动文件的实际存放路径,是否和你配置的路径完全一致。

2. 处理路径中的空格问题

Windows路径里的空格可能会让PHP解析配置时出错,你可以试试这两种方式:

  • 给路径加上引号:
    extension="D:\Program Files\PHP\v7.2\ext\php_pdo_mysql.dll"
    
  • 使用Windows的8.3短路径格式(比如D:\PROGRA~1\PHP\v7.2\ext\php_pdo_mysql.dll),避开空格带来的解析异常。

3. 检查Azure App Service的内置PHP配置

如果你的Web App用的是Azure提供的内置PHP环境,可能不需要手动修改extensions.ini,直接在Azure门户的应用服务配置里操作就行:

  • 进入应用服务的“配置”面板,找到“常规设置”
  • 在PHP版本选项旁,看看有没有扩展启用的入口,直接勾选MySQL相关扩展即可。

4. 确认驱动文件的权限

如果是你手动上传的php_pdo_mysql.dll,要确保Web App的运行进程有读取这个文件的权限。Azure默认的运行账户应该有读取权限,但如果是自定义路径的文件,可能需要调整权限设置。

5. 务必重启Web App

哪怕phpinfo显示extensions.ini已经加载,修改扩展配置后必须重启Web App才能生效。去Azure门户里重启你的应用服务,之后再检查PDO驱动列表,看看是否已经出现MySQL。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:53:29