【问题标题】:Symfony instance fails to see directories as writableSymfony 实例无法将目录视为可写
【发布时间】:2017-08-23 13:34:17
【问题描述】:

我一直在通过 google 进行过滤以尝试找到此问题的答案,但我仍然找不到可以解决我的问题的答案。我已将网站迁移到新服务器。该框架是使用 Nginx 和 PHP-FPM 的 php5.6 上的 Symfony 2.8。

这是 config.php 页面的截图。

为了解决这个问题,我试过了......

  • 将 Nginx 和 php-fpm 的用户更改为我登录的用户和 Nginx,均无效
  • 我已将缓存和日志文件夹的权限打开到应用文件夹中的 777,但没有用,不是。
  • 我已经尝试将缓存和日志文件夹分配给 nginx:nginx,不行。
  • 我已手动分配 app.php、app_dev.php 和控制台文件以具有 umask(0000) 和 umask(0002),不。
  • 每次修改后重启Nginx服务和php-fpm服务,nodda。
  • 我已经重新启动了整个服务器,以为可能会卡住,但您猜对了。不!

这让我留在这里。我已经完成了所有我能想到的事情,令我困惑的是 Symfony 仍然无法将目录识别为可写的。这似乎是最简单的事情,但是……不。

任何东西都会有帮助,请传递任何东西。

【问题讨论】:

  • 你能(重新)尝试chmod 755 -R app/cache app/logs + chown www-data:www-data -R app/cache app/logs吗?
  • 我遇到的奇怪的事情是当我通过命令行卷曲文件时文件处理正常,但如果我通过浏览器访问同一个文件,它会给我写/权限问题。

标签: symfony nginx centos centos7 symfony-2.8


【解决方案1】:

经过无数小时的研究和互联网上的详细信息,我找到了答案!我在这里发布它以防其他人遇到同样的问题......希望我可以节省他们一些时间。这占据了我生命中的两天,我再也回不来了。

无论出于何种原因,SELinux 都会导致此错误。我遇到了this issue on superuser stack exchange,它告诉我暂时禁用 SELinux 进行测试。运行sudo setenforce 0 后,一切都恢复了。然后我完全禁用它,此后一切正常。

这是突然发生的,我仍然不确定原因。在触发此事件之前,该网站运行了大约一周。

【讨论】:

    【解决方案2】:

    你应该阅读这个来设置你的目录权限http://symfony.com/doc/current/setup/file_permissions.html

    我总是坚持第 3 点。使用 Debian/Apache,不幸的是我从未尝试使用 nginx。

    【讨论】:

    • 我也试过了,还是没变。
    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2017-03-20
    • 2018-01-01
    • 1970-01-01
    相关资源
    最近更新 更多