Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQLSTATE[HY000][2002]权限被拒绝Laravel PDO驱动程序(凭据通过artisan迁移工作)_Php_Mysql_Laravel_Pdo - Fatal编程技术网

Php SQLSTATE[HY000][2002]权限被拒绝Laravel PDO驱动程序(凭据通过artisan迁移工作)

Php SQLSTATE[HY000][2002]权限被拒绝Laravel PDO驱动程序(凭据通过artisan迁移工作),php,mysql,laravel,pdo,Php,Mysql,Laravel,Pdo,我在这个新安装的PDO驱动程序上遇到了很多问题 这是我在尝试执行由laravel触发的任何db操作时遇到的错误 ext Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Permission denied (SQL: select * from `users` where `email` = ethan@gmail.com limit 1) in /var/www/html/mypath/vendor/laravel/frame

我在这个新安装的PDO驱动程序上遇到了很多问题

这是我在尝试执行由laravel触发的任何db操作时遇到的错误

ext Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Permission denied (SQL: select * from `users` where `email` = ethan@gmail.com limit 1) in /var/www/html/mypath/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647
这里真正奇怪的是,PDO是在php中启用的,我们使用的凭据与php artisan migrate用于创建表的凭据相同,所以我知道凭据、mysql套接字都在工作

这是堆栈中的PDO错误

at PDO->__construct('mysql:unix_socket=/mnt/volume_sfo2_01/mysql_data/mysqld.sock;dbname=testdb1', 'dbuser1', 'mypassword', array(0, 2, 0, false, false))
in Connector.php line 68
注意,我确实移动了mysql的datadirectory,因此对套接字进行了更改。这个配置可以运行migrate,那么让它与laravel PDO驱动程序一起工作我缺少什么呢

在ubuntu服务器16上也是如此。 Nginx+php7.1
apparmor已被禁用,仅用于此测试。任何想法都将不胜感激。

我在Laravel/Lumen 5.5/CentOS7/php71/mariaDB上也有类似的问题

使用此处解决方案中概述的“setenforce to test”策略,您可能需要测试SElinux的影响

我是通过端口3306连接的,并且能够通过此问题报告中的洞察力解决问题,该问题报告导致我

sudo setsebool httpd_can_network_connect_db 1
要使此更改永久存在,您需要添加-p开关


sudo setsebool-p httpd_can_network_connect_db 1

我在Laravel/Lumen 5.5/CentOS7/php71/mariaDB上也有类似问题

使用此处解决方案中概述的“setenforce to test”策略,您可能需要测试SElinux的影响

我是通过端口3306连接的,并且能够通过此问题报告中的洞察力解决问题,该问题报告导致我

sudo setsebool httpd_can_network_connect_db 1
要使此更改永久存在,您需要添加-p开关


sudo setsebool-p httpd_can_network_connect_db 1

您是否可以查看是否使用PDO;另外,您是否使用homestead或Xampp?请确保您的配置未被缓存。运行php artisan配置:从控制台中清除可以查看是否使用PDO;另外,您是否使用homestead或Xampp?请确保您的配置未被缓存。运行php artisan配置:从控制台清除!这是在CentOS 7和Laravel 5.6上为我做的。当我的PHP代码试图通过网络访问MySQL数据库时,我收到了相同的错误代码,当时从浏览器访问MySQL数据库时,没有使用Laravel或任何框架,只是一个普通的PHP站点。当从命令行运行PHP脚本时,它工作得很好。事实证明,这个SE Linux httpd_can_network_connect_db变量才是罪魁祸首。将其设置为1修复了所有问题!谢谢:谢谢,你救了我。谢谢!这是在CentOS 7和Laravel 5.6上为我做的。当我的PHP代码试图通过网络访问MySQL数据库时,我收到了相同的错误代码,当时从浏览器访问MySQL数据库时,没有使用Laravel或任何框架,只是一个普通的PHP站点。当从命令行运行PHP脚本时,它工作得很好。事实证明,这个SE Linux httpd_can_network_connect_db变量才是罪魁祸首。将其设置为1修复了所有问题!谢谢:谢谢,你救了我。