運行 ThinkPHP 項目報錯: Class 'PDO' not found


 

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM