RHEL 7 中的 pdo mysql 驱动程序不工作
pdo mysql driver in RHEL 7 is not working
我正在尝试 运行 我的 Laravel 5.7 应用程序,但在尝试 运行 我的页面中的查询时总是会收到错误 Could not find driver
。
这是我的 .env 代码的一部分:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
无论如何,我们不使用 mysql,而是使用 MariaDB。我可以确认 mariadb 是 运行ning 没有任何问题,因为如果我在我的终端中 运行 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()
将 return 这个:
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 运行ning 没有?
您可以从 yum
安装 php mysql 连接包
首先安装#yum install epel-release -y 然后
yum 安装php-mysqlnd -y
原来我需要重启我的 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 对同一事物有不同的名称?
我正在尝试 运行 我的 Laravel 5.7 应用程序,但在尝试 运行 我的页面中的查询时总是会收到错误 Could not find driver
。
这是我的 .env 代码的一部分:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
无论如何,我们不使用 mysql,而是使用 MariaDB。我可以确认 mariadb 是 运行ning 没有任何问题,因为如果我在我的终端中 运行 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()
将 return 这个:
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 运行ning 没有?
您可以从 yum
安装 php mysql 连接包首先安装#yum install epel-release -y 然后
yum 安装php-mysqlnd -y
原来我需要重启我的 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 对同一事物有不同的名称?