centos 6.7上没有pdo_mysql

时间:2016-03-15 18:18:36

标签: php mysql apache pdo

我有一台CentOs 6.7服务器。 我有问题在apache2上使pdo_mysql可用。 以下是命令行的显示:

myserver$ php -m
PDO, pdo_mysql, pdo_sqlite

但phpinfo()仅显示PDO和pdo_sqlite

我已经在php.ini

中包含了以下内容
extension=pdo_mysql.so
extension=pdo.so

重新启动Apache: sudo service httpd restart

看起来,pdo_mysql安装在不同的php上。 当我在服务器上搜索pdo.so和pdo_mysql.so时,我在三个地方获得了pdo.so,但是在两个地方获得了pdo_mysql。

myserver$ locate pdo.so
/usr/lib64/php/modules/pdo.so
/usr/lib64/php-zts/modules/pdo.so
/var/opt/remi/php56/root/usr/lib64/php/modules/pdo.so

myserver$ locate pdo_mysql.so
/usr/lib64/php/modules/pdo_mysql.so
/usr/lib64/php-zts/modules/pdo_mysql.so

phpinfo()中的Apache安装显示:     加载配置文件/opt/remi/php56/root/etc/php.ini

所以我最近的PHP升级到php 5.6缺少pdo_mysql。 其他php安装有它,但我不知道如何强制pdo_mysql安装将它安装到/ var / opt / remi / php56 /

我用以下来安装pdo-mysql:

yum install pdo-mysql

所以,它安装在/ usr / lib64 / php /下,但不在,/ var / opt / remi / php56 /任何帮助或建议表示赞赏

2 个答案:

答案 0 :(得分:1)

似乎您对remi存储库中的2个可用PHP堆栈感到困惑。

  • php- * packages =在/ etc
  • 中配置的基础包
  • php56-php- * packages =在/ opt
  • 中进行并行安装的软件集合

另见FAQ

  

phpinfo()中的Apache安装显示:已加载的配置文件/opt/remi/php56/root/etc/php.ini

这意味着您使用的是SCL版本。所以你需要php56-php-mysqlnd

  

我已经在php.ini

中包含了以下内容

您永远不必更改php.ini,每个软件包都提供其配置文件,以启用扩展(并确保正确的加载顺序,例如pdo"在" pdo_mysql之前)

我建议您按照Configuration Wizard结果

进行操作

答案 1 :(得分:0)

好的,我终于找到了问题的解决方案。 我试图安装缺少的pdo_msyql扩展,但是yum说这个包不可用。 然后通过安装以下问题解决了。

yum install php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch

感谢大家的帮助。