我正在尝试运行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为什么不运行?
答案 0 :(得分:0)
原来,我需要重新启动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对同一事物有不同的名称?
答案 1 :(得分:-2)
您可以从yum安装php mysql连接软件包
首先安装#yum,然后安装epel-release -y