У меня есть сервер 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.
Также см. Вопросы-Ответы
И установка 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.