在使用ThinkPHP5.0(以下简称TP5)以上版本,连接数据库时会报这个错误,因为TP5默认使用PDO的方式进行连接,而我们的PHP没有默认开启pdo_mysql的驱动所以就会报错了,好了,解决方法如下,各位看官请阅!
进入PHP的软件安装包目录下(不是PHP的安装目录下)
(根据自身的目录地址,我的如下)
[[email protected] ~]# cd php-7.2.13/ext/pdo_mysql
解释一下,为什么进入这个目录,php-7.2.13/ext这是PHP软件安装包自带的各种扩展所在的位置,如下图
执行phpize
(解释下phpize是干嘛的,phpize在你编译安装PHP完成之后出现在你PHP安装目录的bin目录下,作用是用来在你想扩展一个新模块之前,需要执行此命令,目录结构请按照自己的来哦)
[[email protected] pdo_mysql]# /usr/local/php/bin/phpize
执行之后的图片如下,和我的一样的话就没错了。
执行完 phpize 命令后,在 pdo_mysql 目录中就会出现 configure可执行文件(绿色的)
执行./configure命令
(解释下./configure命令的作用,./configure 是软件的组态设置文件 产生对应平台的Makefile)
[[email protected] pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
–with-php-config=/usr/local/php/bin/php-config 指定的是php-config文件的路径
–with-pdo-mysql=/usr/local/mysql/ 指定MySQL的安装目录位置
执行完成之后如下图,就没毛病了
执行make && make install命令
(make 根据Makefile的内容 编译出符合平台的可执行文件 make install 安装编译成功的软件 )
[[email protected] pdo_mysql]# make && make install
执行完成和下图一样就没毛病了.红线标识目录下会有一个pdo_mysqk.so的可执行文件
编辑PHP的配置文件
(vim和vi都可以,这两个编辑工具使用方式自行百度)
[[email protected] no-debug-zts-20170718]# vim /usr/local/php/lib/php.ini
添加以下这段话,位置内容如下意思就是指定PHP使用PDO链接数据库驱动的位置,修改完成之后,保存退出
重启Apache服务
(systemctl restart httpd也可以)
[[email protected] no-debug-zts-20170718]# systemctl stop httpd
[[email protected] no-debug-zts-20170718]# systemctl start httpd
验证是否安装成功
(编辑一个内容为phpinfo()的PHP文件)
在浏览器运行之后,如下图就没毛病了关于PDO的sqlite的驱动,我解释一下,SQLite是一种轻量级的关系型数据库,并不是MySQL数据库的驱动,大家要区分清楚。
至此,应该就会解决你的问题了。
作者:大雄没有A梦