[英]Centos 7, PHP 7.2 Permission denied via Apache2.4
当我尝试通过apache执行到db的连接时,我无法通过pdo登录到mysql,但在cli上它可以正常工作
在symfony 4.1 controller
我已插入此字符串
new PDO('mysql:host=db;dbname=test_db', 'xyz', 'uzzzxxxx');
它给出异常,但在Symfony4.1 command
,同一行有效,并且我可以查询db。 是什么原因造成的? 控制器和命令合而为一
我相信对于Apache,您正在寻找localhost作为主机。
new PDO('mysql:host=localhost;dbname=test_db', 'xyz', 'uzzzxxxx');
虽然我不熟悉Symfony,但可能是它使用了不同的凭据,或者可能是当它检测到错误时将其设置为localhost,而Apache没有。
您必须让Apache启用写入日志文件和文件上传的功能吗? 让我们与SELinux一起玩。 并设置适当的所有权和权限
# Ownership
sudo chown apache:apache -R / data / www / html / sites / mysite cd / data / www / html / sites / mysite
找 。 -type f -exec chmod 0644 {} \\;
找 。 -type d -exec chmod 0755 {} \\;
须藤chcon -t httpd_sys_content_t / data / www / html / sites / mysite -R
sudo chcon -t httpd_sys_rw_content_t / data / www / html / sites / mysite / logs -R sudo chcon -t httpd_sys_rw_content_t / data / www / html / sites / mysite / uploads -R
httpd_sys_content_t –用于允许Apache提供这些内容,而httpd_sys_rw_content_t –用于允许Apache写这些路径。
而已! 我喜欢,你们分享!
在我的情况下,错误的是通过禁用SELinux,现在它可以工作,以防有人想要查看教程https://linuxize.com/post/how-to-disable-selinux-on-centos-7/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.