PDO连接数据库提示could not find driver解决办法

时间:2022-07-27 09:21:36

最近将测试项目部署到云服务器的时候,数据库正常访问,用PHP访问显示PDO连接数据库提示could not find driver

1、查看phpinfo,显示没有mysql

PDO support enabled
PDO drivers sqlite 


2、这个时候根据网上提供的方法,准备生成pdo_mysql,在第六步的时候失败了。

configure: error: mysql_query missing!

以下是方法:

==============================================

2.使用wget下载php官方提供的pdo的包
wgethttp://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
3.解压缩
tar zxvf PDO_MYSQL-1.0.2.tgz
4.进入刚才解压的目录
cd PDO_MYSQL-1.0.2
5.用phpize为PHP添加动态扩展

/data/php/bin/phpize
注:到这步注意了,要根据自己服务器php的安装位置,phpize在php的安装目录的bin下面。如果执行了这个语句,提示没有phpize,说明要去安装下phpize(问百度)
6.编译

./configure --with-php-config=/data/php/bin/php-config --with-pdo-mysql=/data/mysql
这步要注意,把php的路径自己修改下。


7.make
make
8.make install

========================================================================================================


3、最后发现是没有安装php56w-mysql,输入安装yum install php56w-mysql,冲突了

 file /usr/share/mysql/charsets/Index.xml from install of mysql-libs-5.1.73-7.el6.x86_64 conflicts with file from package MySQL-server-5.6.21-1.rhel5.x86_64

原因安装php56w-mysql需要依赖mysql-libs-5.1.73-7.el6.x86_64,但mysql-libs-5.1.73-7.el6.x86_64和mysql数据库有冲突


4、接着找到了一个解决方法,就是下载mysql 5.6的兼容包。方法如下:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm

然后使用rpm -ivh MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm


5、接着yum install php56w-mysql,安装成功

6、最后查看phpinfo ,发现已成功载入

PDO support enabled
PDO drivers sqlite ,mysql