could not find driver
使用ThinkPHP5.0.20(win7+apache2.4.41 +php7.2.21+MySQL5.7)连接MySQL数据库时,报错:
然后使用phpinfo();
查看了一下扩展,发现了问题(PDO drivers 的值为 no value):
上百度搜索could not find driver和PDO drivers no value ,发现有不少找到错误的。然后一一尝试,总算解决了:
第一个尝试
php.ini未开启extension=pdo_mysql
扩展。我的已经开启了,明显不是该错误。
第二个尝试
php.iniextension_dir配置的路径不对,使用绝对路径 extension_dir = "C:\wamp\php7.2\ext"
我是用的绝对路径,这里也没有问题。
第三个尝试
在dos命令行的php7.2安装目录下使用php -m
命令,里面显示开启了pdo扩展。然后尝试修改httpd.conf配置文件中PHPIniDir 路径:PHPIniDir "C:\wamp\php7.2\"
把反斜线改为正斜线。我改之前认为不应该是这里的错误,因为windows系统的路径都是使用正斜线。修改之后,重启apache,然后刷新web页面,奇迹诞生了:
什么鬼!?居然成功了?问题解决…我越来越不想在windows下开发项目了。