RHEL 7中的pdo mysql驱动程序不起作用

时间:2019-04-28 17:10:44

标签: mysql laravel pdo mariadb rhel

我正在尝试运行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.sopdo.somysqli.somysqlnd.so

我的/etc/opt/rh/rh-php71/php.d文件夹还包含30-pdo_mysql.ini,在该文件夹上仅包含一行extension=pdo_mysql.so

那我的pdo mysql为什么不运行?

2 个答案:

答案 0 :(得分:0)

原来,我需要重新启动php-fpm。在谷歌搜索和谷歌搜索后,我仍然找不到我的php-fpm服务的确切名称,因此我做了sudo find | grep fpm,发现我的php-fpm服务名称是rh-php71-php-fpm

所以我运行sudo service rh-php71-php-fpm restartsudo systemctl restart httpd,现在mysql在PDO驱动程序下列出,并且我可以成功运行我的应用程序。

严重的是,为什么不同版本的Linux对同一事物有不同的名称?

答案 1 :(得分:-2)

您可以从yum安装php mysql连接软件包

首先安装#yum,然后安装epel-release -y

yum install php-mysqlnd -y