PDO出现“could not find driver”解决办法

分类:网站教程 时间: 2020-03-12 10:20:33 浏览: 点赞:(16
0

PDO出现“could not find driver”解决办法

今天群里一位朋友用PDO的时候,出现了这种报错“could not find driver”,这句话的大概意思是:  没有找到驱动

could not find driver

 

原因分析:以上这种问题,也就是大家经常问的PDO drivers没有mysqlPDO drivers 不支持mysql这两个问题。原因其实都是一样的,都是缺少pdo_mysql扩展。

 

解决办法:

其实办法很简单,无非就是检查你是否安装了PDO扩展?如果你已经安装了PDO扩展。再检查你是否安装了支持PDO连接数据库的类型扩展?因为PDO支持很多种数据库类型。例如:mysql、sqlite、pgsql等。

 

谈谈我是如何解决“could not find driver”这个问题的?

 

1、查看PDO扩展是否安装?

直接用phpinfo()函数查看。得到如下结果:

PDO出现“could not find driver”解决办法(图2)

从上图可以看出,PDO已经安装了,但是PDO驱动只安装了sqlite数据库,意思是PDO这个扩展目前只支持sqlite数据库,但是我朋友用的是mysql数据库,因此报错就很正常了。

 

2、开启pdo支持mysql数据库类型的驱动扩展:pdo_mysql。

如果你是windows服务器,直接修改php.ini,去掉前面“;"即可开启此扩展。PDO出现“could not find driver”解决办法(图3)

 

如果你是linux服务器,你就要自己安装pdo_mysql这个扩展。

从源码包安装pdo_mysql命令如下:

cd /usr/local/php5.5.28/etx/pdo_mysql/usr/local/php/bin/phpize
./configure --with-php-config=/fujieace/php/bin/php-config
make && make install

成功后会生成一个pdo_mysql.so的类似路径:

nstalling shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/***

再把pdo_mysql.so加入php.ini:

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo_mysql.so

 

3、查看是否成功?

重启php后,如果你pdo_mysql安装成功后,phpinfo界面应该是这个样子的,如下图:

pdo支持mysql和sqlite

 

注意:linux下安装的pdo_mysql扩展一定要跟你的PHP版本一致,(建议从源码包安装)不能随便乱安装,否则你会发现就算成功安装这个扩展生成了so,但是phpinfo里面依然不会成功显示。


1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站所有帖子均有严格审核,某些帖子均采集网上收集,一切只为研究学习作用,不可商用!如果商用请自行负责!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 会员请遵守本站《网站管理条例》,做到勿传播,勿侵权,请尊重相关版权方劳动成果!如有违反自行负责~

用户评论

加载中~

不要把时间用来消遣,用更多的精力,学习来创造有价值的知识!

目前为止共有 548 条经典例子文章

我要投稿