Драйвер pdo mysql в RHEL 7 не работает - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь запустить свое приложение Laravel 5.7, но всегда получаю ошибку Could not find driver при попытке выполнить запрос на моей странице.

Вот часть моего .env кода:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306

В любом случае вместо mysql мы используем MariaDB. Я могу подтвердить, что mariadb работает без проблем, потому что, если я запускаю mysql -u root -p в своем терминале, я могу подключиться к моей MariaDB. Вот что будет с моим приветственным сообщением после успешного входа в мою MariaDB.

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 44
Server version: 10.2.8-MariaDB MariaDB Server

Запуск phpinfo() вернет это:

PDO support enabled
PDO drivers pgsql, sqlite

MySQL driver for PDO    George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter
MySQLi  Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter

Но я могу подтвердить, что моя папка /opt/rh/rh-php71/root/usr/lib64/php/modules содержит pdo_mysql.so, pdo.so, mysqli.so и mysqlnd.so

А также моя папка /etc/opt/rh/rh-php71/php.d содержит 30-pdo_mysql.ini, в которой она содержит только одну строку, extension=pdo_mysql.so

Так почему мой pdo mysql не работает?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Оказывается, мне нужно перезапустить php-fpm.При поиске и поиске я все еще не могу найти точное имя моей службы php-fpm, поэтому я набрал sudo find | grep fpm и обнаружил, что мое имя службы php-fpm rh-php71-php-fpm

Итак, я запускаюsudo service rh-php71-php-fpm restart и sudo systemctl restart httpd, а теперь mysql указан в списке драйверов PDO, и я могу успешно запускать свои приложения.

Серьезно, почему разные версии Linux имели разные имена одного и того же?

0 голосов
/ 28 апреля 2019

Вы можете установить пакет подключения php mysql с yum

Сначала установите #yum, установите epel-release -y, затем

yum install php-mysqlnd -y

...