从 PHP 5.1 开始附带了 PDO,PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。
在工作中经常会遇到使用mysql的PDO扩展时,提示没有安装该扩展,这种情况下重新编译php即可解决。今天我也重新编译了一遍,把过程记录下来给大家分享。
到官网www.php.net下载对应版本php的gz源码,解压:
tar -zxvf php-5.2.17.tar.gz
解压完成进入目录:
[root@linux php]# cd /usr/local/src/php-5.2.17/ext/pdo_mysql
[root@linux pdo_mysql]# /usr/local/php/bin/phpize
[root@linux pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
/usr/local/mysql为mysql的安装路径,请根据实际情况更改。
[root@linux pdo_mysql]# make
[root@linux pdo_mysql]# make install
出现下面的提示表示编译成功了:
Build complete.
Don't forget to run 'make test'.
然后修改php.ini文件加入pdo_mysql扩展:
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so"
其中路径为编译完成之后Installing shared extensions提示的路径,需要根据实际情况更改。
如果找不到php.ini的位置,执行shell命令:
php -r "phpinfo();" | grep "php.ini"
即可找到php.ini文件路径。
编译完成之后需要重启apahce或者fastcgi,运行在cli模式下则可立即生效。