MAMP环境下PHP页面持续报PDO驱动未找到错误求助
解决PDO驱动找不到的问题
1. 确认当前运行网页的PHP环境
在login.php中写入以下代码,访问该页面:
<?php phpinfo(); ?>
重点查看两个核心信息:
- 页面顶部的PHP版本:确认是你配置的8.2.4还是MAMP自带的7.4.1
- Loaded Configuration File:这才是当前网页生效的
php.ini路径,和cmd里的PHP环境可能完全不同
2. 开启对应PDO驱动
打开上面找到的php.ini文件,根据你的数据库类型修改:
- 如果是SQLite(你的连接参数是本地文件路径,大概率是这个):找到
;extension=pdo_sqlite,去掉前面的分号,改成extension=pdo_sqlite - 如果是MySQL:找到
;extension=pdo_mysql,去掉分号改成extension=pdo_mysql
注意:Windows环境下,PHP8.0+的扩展无需加.dll后缀;PHP7.4则保持extension=pdo_sqlite.dll或extension=pdo_mysql.dll即可。
3. 验证扩展目录配置
在php.ini中找到extension_dir,确保路径指向对应PHP版本的ext文件夹:
- 本地PHP8.2.4示例:
extension_dir = "C:\php-8.2.4\ext" - MAMP PHP7.4.1示例:
extension_dir = "C:\MAMP\bin\php\php7.4.1\ext"
4. 检查PDO连接字符串是否正确
如果是SQLite连接,必须指定驱动前缀,正确格式:
// 用斜杠或转义反斜杠 $pdo = new PDO('sqlite:C:/Users/neb/path/to/your_database.sqlite'); // 或者 $pdo = new PDO('sqlite:C:\\Users\\neb\\path\\to\\your_database.sqlite');
如果缺少sqlite:前缀,PDO无法识别驱动,会直接报错“could not find driver”。
5. 重启MAMP服务
修改php.ini后,必须重启MAMP的Apache服务器,配置才会生效。
6. 验证驱动是否加载成功
重新访问phpinfo()页面,搜索“PDO”,查看是否有对应的驱动模块(比如pdo_sqlite)显示,确认已加载。
内容的提问来源于stack exchange,提问作者Meme410
相关产品推荐
相关产品推荐

