Назад | Перейти на главную страницу

pdo_mysql установлен, но отсутствует в phpinfo

У меня есть сервер CentOs 6.7. У меня проблема с тем, чтобы сделать pdo_mysql доступным на apache2. следующие шоу для командной строки:

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

И установка Apache в phpinfo () показывает:

Loaded Configuration File   /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 доступных стека PHP в репозитории remi.

  • php- * packages = базовые пакеты с конфигурацией в / etc
  • php56-php- * packages = наборы программного обеспечения для параллельной установки с настройкой в ​​/ opt

Также см. Вопросы-Ответы

И установка Apache в phpinfo () показывает: Загруженный файл конфигурации /opt/remi/php56/root/etc/php.ini

Это означает, что вы используете версию SCL. Итак, вам нужен php56-php-mysqlnd

Я уже включил следующее в php.ini

Вам никогда не придется изменять php.ini, каждый пакет предоставляет свой файл конфигурации, который включает расширение (и обеспечивает правильный порядок загрузки, например, pdo "перед" pdo_mysql)

Я рекомендую вам следовать Мастер настройки полученные результаты

Вы установили PHP через репозиторий Remi.

Попробуй это:

yum --enablerepo=remi,remi-php56 install php-pdo_mysql

Это должно поддерживать синхронизацию вашей установки PHP.