运行 ThinkPHP 项目报错: Class 'PDO' not found

◇◆丶佛笑我妖孽 提交于 2021-02-17 07:22:55

 

 

一、Web环境

CentOS release 5.8 x86_64

nginx-1.8.1

php-5.6.32

mysql-5.1.56

 

 

ThinkPHP 错误:Class 'PDO' not found ,原因 mysql 缺少pdo驱动,需要安装php的pdo和pdo_mysql扩展。

 

1、安装 php 的 pdo 扩展

进入PHP源码包 ext/pdo 目录

[root@uczh ~]# cd /soft/php/php-5.6.32/ext/pdo

执行 /local/server/php5.6/bin/phpize
php-5.6.32 的安装目录为:/local/server/php5.6


[root@uczh pdo]# /local/server/php5.6/bin/phpize --with-php-config=/local/server/php5.6/bin/php-config
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

配置扩展 pdo
[root@uczh pdo]# ./configure --with-php-config=/local/server/php5.6/bin/php-config --enable-pdo=shared

编译安装 pdo

[root@uczh pdo]# make
[root@uczh pdo]# make install
Installing shared extensions: /local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/
Installing header files: /local/server/php5.6/include/php/
Installing PDO headers: /local/server/php5.6/include/php/ext/pdo/

以上安装输出,说明在 /local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/ 目录下生成了 pdo.so 文件

在 php 配置文件上加上

extension="/local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/pdo.so"

 

2、安装 php 的 pdo_mysql 扩展

在 PHP 源码包目录下进入 pdo_mysql

[root@uczh pdo_mysql]# cd /soft/php/php-5.6.32/ext/pdo_mysql

执行 /local/server/php5.6/bin/phpize
php-5.6.32 的安装目录为:/local/server/php5.6

[root@uczh pdo_mysql]# /local/server/php5.6/bin/phpize --with-php-config=/local/server/php5.6/bin/php-config
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

配置扩展 pdo_mysql
[root@uczh pdo_mysql]# ./configure --with-php-config=/local/server/php5.6/bin/php-config --with-pdo-mysql=/local/server/mysql

编译安装 pdo_mysql
[root@uczh pdo_mysql]# make
[root@uczh pdo_mysql]# make install
Installing shared extensions: /local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/

以上安装输出,说明在 /local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/ 目录下生成了 pdo_mysql.so 文件

在 php 配置文件上加上

extension="/local/server/php5.6/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so"

 

最后重启 php-fpm 服务。

kill -USR2 `cat /local/server/php5.6/var/run/php-fpm.pid`  

 

查看刚安装的扩展是否存在:

[root@uczh pdo_mysql]# /local/server/php5.6/bin/php -m|grep "[P|p][D|d][O|o]"
PDO
pdo_mysql

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!