前几天因为pdo-mysql一直没装上去,今天解决了。记录一下细节。之前的PHP环境上找不到配置文件php.ini,所以自己下载安装了最新的php.5.6.17,所以系统存在多个PHP版本。
起因,项目配置到Liunx下,在php.ini设置了extension_dir = “/usr/local/php-5.6.17/ext”路径,安装了extension=openssl.so ,extension=curl.so 扩展,又出现了 [PDOException]could not find driver。
环境
Liunx
php-5.6.17
phpize (/usr/local/php-5.6.17/scripts/phpize)
php-config (/usr/local/php-5.6.17/scripts/php-config)
nginx
安装pdo
cd /usr/local/php-5.6.17/ext
/usr/local/php-5.6.17/scripts/phpize
./configure –with-php-config=/usr/local/php-5.6.17/scripts/php-config –enable-pdo=shared
make
这里遇到了问题
注: 多次未安装成功时 make 前需要 make clean
make install
注:之前设置了php.ini
cd /usr/local/lib/php.ini
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo.so
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so
安装pdo-mysql
/usr/local/php-5.6.17/scripts/phpize
./configure –with-php-config=/usr/local/php-5.6.17/scripts/php-config –with-pdo-mysql=/usr/local/mysql
make
make install
重启php-fpm
/etc/init.d/php-fpm5.6 restart
重启nginx
cd /usr/local/nginx/sbin
./nginx -s reload
最终正确结果
问题:
PHP Startup: Invalid library (maybe not a PHP library)
Starting php-fpm [19-Jan-2016 12:01:08] NOTICE: PHP message: PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) ‘/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo.so’ in Unknown on line 0
Starting php-fpm [19-Jan-2016 12:31:27] NOTICE: PHP message: PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
问题原因:
1. 多个PHP 版本文件安装 造成混乱,安装扩展时要注意保证phpize和php-config路径正确。
2. 没有 make clean
3. 看了很多教程,但找不到bin 目录,后来发现在scripts目录下