当我试图通过apache执行到db的连接时,我不能通过pdo登录mysql,但是在cli上它可以正常工作在 symfony 4.1 controller 我已经插入了这个字符串
symfony 4.1 controller
new PDO('mysql:host=db;dbname=test_db', 'xyz', 'uzzzxxxx');
它给例外,但在 Symfony4.1 command 同一行工作,我可以查询数据库。什么会导致这种情况?控制器和命令在一个包中
Symfony4.1 command
tvokkenx1#
我相信对于apache,您正在寻找localhost作为您的主机。
new PDO('mysql:host=localhost;dbname=test_db', 'xyz', 'uzzzxxxx');
虽然我不熟悉symfony,但它可能使用不同的凭据,或者在检测到错误时将其设置为localhost,而apache没有。
eh57zj3b2#
你必须给apache允许写日志文件和上传文件吗?让我们和selinux好好玩。并设置适当的所有权和权限
# Ownership
苏多周apache:apache -r /data/www/html/sites/mysite光盘/data/www/html/sites/mysite
找到-类型f-exec chmod 0644{}\;
找到-类型d-exec chmod 0755{}\;
sudo chcon-t httpd\u sys\u content\u t/data/www/html/sites/mysite-r
sudo chcon-t httpd\u sys\u rw\u content\u t/data/www/html/sites/mysite/logs-r sudo chcon-t httpd\u sys\u rw\u content\u t/data/www/html/sites/mysite/uploads-rhttpd\u sys\u content\u t–允许apache提供这些内容,httpd\u sys\u rw\u content\u t–允许apache写入这些路径。就这样!我喜欢和你分享!
wydwbb8l3#
在我的例子中,错误是selinux通过禁用它,现在它工作的情况下,有人想检查有没有教程https://linuxize.com/post/how-to-disable-selinux-on-centos-7/
3条答案
按热度按时间tvokkenx1#
我相信对于apache,您正在寻找localhost作为您的主机。
虽然我不熟悉symfony,但它可能使用不同的凭据,或者在检测到错误时将其设置为localhost,而apache没有。
eh57zj3b2#
你必须给apache允许写日志文件和上传文件吗?让我们和selinux好好玩。并设置适当的所有权和权限
苏多周apache:apache -r /data/www/html/sites/mysite光盘/data/www/html/sites/mysite
文件权限,递归
找到-类型f-exec chmod 0644{}\;
目录权限,递归
找到-类型d-exec chmod 0755{}\;
selinux在apache上提供文件,复活
sudo chcon-t httpd\u sys\u content\u t/data/www/html/sites/mysite-r
只允许写入特定目录
sudo chcon-t httpd\u sys\u rw\u content\u t/data/www/html/sites/mysite/logs-r sudo chcon-t httpd\u sys\u rw\u content\u t/data/www/html/sites/mysite/uploads-r
httpd\u sys\u content\u t–允许apache提供这些内容,httpd\u sys\u rw\u content\u t–允许apache写入这些路径。
就这样!我喜欢和你分享!
wydwbb8l3#
在我的例子中,错误是selinux通过禁用它,现在它工作的情况下,有人想检查有没有教程https://linuxize.com/post/how-to-disable-selinux-on-centos-7/