繁体   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