![](/img/trans.png)
[英]SQLSTATE[HY000] [2002] Permission denied Laravel PDO Driver (credentials working via artisan migrate)
[英]SQLSTATE[HY000] [2002] Permission denied
我收到此錯誤不知道原因SQLSTATE[HY000] [2002] Permission denied
,這里是我嘗試上傳我的文件example.com
。
發生這種情況是因為 selinux 避免了從 httpd 服務器到遠程數據庫服務器的數據庫連接。 要解決此問題,您需要通過 ssh 訪問您的服務器,或者如果您具有假冒訪問權限,則只需打開一個控制台並執行以下操作:
如果端口 80 被管理,則必須在 SELinux 中檢查。您可以通過鍵入# semanage port -l | grep http_port_t
來檢查它# semanage port -l | grep http_port_t
# semanage port -l | grep http_port_t
獲取列表並檢查:
http_port_t tcp 443, 488, 8008, 8009, 8443, 9000
如果您需要添加所需的端口,只需鍵入:
# semanage port -a -t http_port_t -p tcp 80
再次輸入命令來檢查:
# semanage port -l | grep http_port_t
.
http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 9000
然后你應該通知 SELinux 你想要允許從 httpd 服務器到 db 遠程服務器的網絡連接,設置設置它的布爾變量:
# service httpd stop
# setsebool httpd_can_network_connect 1
# setsebool httpd_can_network_connect_db 1
# service httpd start
現在您的 httpd 服務應該能夠從數據庫服務器獲取數據。
我希望這對搜索解決此類錯誤的團伙有用。
進入 .env 文件並將 DB_HOST=127.0.0.1 更改為 DB_HOST=localhost
我可能會遲到回答這個問題,但對我有用的是命令。 我遇到了同樣的問題,然后我運行了以下命令。
提供權限:
chmod -R 777 .
(雖然不推薦)
運行安裝升級命令
php bin/magento setup:ugrade
最后編譯命令
php bin magento setup:di:compile
也許你需要像這樣關閉你的selinux
setenforce 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.