簡體   English   中英

遠程MySQL不使用Laravel Config

[英]Remote MySQL not working with Laravel Config

我們的數據庫服務器具有對用戶root的所有本地ip的授權訪問權限,並且可以通過所有本地IP中的cli訪問它們。 但是在我們的webserver(不同的機器)中,Laravel仍然無法連接到數據庫,這里是錯誤:

錯誤PHP

我試圖清除緩存,重新安裝Laravel(安裝編輯器,生成新密鑰等)將db config驅動器更改為sqli,它仍然錯誤連接遠程數據庫,但為什么數據庫工作時我通過修補程序查詢數據庫機器,這太不尋常了。

如果您的MySQL數據庫位於遠程服務器上,則可能是以下問題之一:

防火牆塊 ,具有MySQL服務的服務器可能位於防火牆后面,該防火牆設置為阻止對MySQL運行的端口的外部訪問。

MySQL用戶權限 ,如果MySQL服務不在防火牆后面,那么下一個原因可能是用戶只具有localhost訪問權限。

您應該嘗試登錄到遠程服務器,並從那里通過一些shell命令連接到您的數據庫,以驗證您實際可以。

解決: php無法連接到mysql,錯誤13(但命令行可以)

現在,Laravel可以通過在數據庫服務器中執行: setsebool httpd_can_network_connect=1來連接數據庫。 但我仍然不明白為什么。 有沒有合理的解釋?

安全增強型Linux(SELinux)是一個Linux內核安全模塊,它提供了一種支持訪問控制安全策略的機制,包括美國國防部式的強制訪問控制(MAC)。

httpd_can_network_connect(HTTPD服務) ::允許HTTPD腳本和模塊連接到網絡。

以root身份運行:

# setsebool -P httpd_can_network_connect 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM