一、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