引起原因: pdo.so的加载顺序在pdo_mysql.so的后面导致
结果: 调整加载顺序之后ok,说明pdo_msyql.so是依赖pdo.so的
#详细情况描述
1.》错误日志文件
[06-May-2015 14:09:01 PRC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo_mysql.so' - /usr/lib/php5/20121212/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
2.》根据错误日志推测
1. 加载pdo_mysql.so时 pdo_parse_params 未定义
2. 查看目录/usr/lib/php5/20121212/pdo_mysql.so 文件是否存在:存在
3.查看php.ini文件:
Dynamic Extensions 处:
extension=/usr/lib/php5/20121212/pdo_mysql.so
extension=/usr/lib/php5/20121212/pdo.so
查看phpinfo() , pdo.so 加载成功,pdo_mysql.so加载失败。
3.》立即把pdo.so 放到pdo_mysql.so前面,重启php-cgi。查看phpinfo() ,msyql_pdo库加载成功
4.》总结
php的一些扩展库之间也是有依赖关系的,比如pdo_mysql.so 就依赖于pdo.so扩展库