我有一台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 /任何帮助或建议表示赞赏
答案 0 :(得分:1)
似乎您对remi存储库中的2个可用PHP堆栈感到困惑。
另见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
感谢大家的帮助。