gpt4 book ai didi

php - Symfony2 NGINX 无法创建缓存目录

转载 作者:行者123 更新时间:2023-12-04 19:34:34 25 4
gpt4 key购买 nike

我知道这似乎是一个重复的问题,但到目前为止,我有 4 个小时的时间来挖掘无法找到一个直接的答案。我已经安装了一个全新的 CentOS 7,并安装了 NGINX (https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7) + PHP 5.6 (https://webtatic.com/packages/php56/) 和 MariaDB。

按照指南,我能够使 NGINX 成功地服务 PHP 文件。

我在 Symfony2 中有一个项目,我正试图进入这个服务器,我的问题是当我尝试打开 http://server/web/app.php 时.我收到以下错误:

fatal error :在...... .

我在文档( http://symfony.com/doc/current/book/installation.html )中读到我应该解决我的权限问题,以便能够应用以下内容:

$ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' |  grep -v root | head -1 | cut -d\  -f1`
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs

由于我从头开始拥有 CentOS 7,这是我能够应用的选项。但是,我仍然有同样的问题,在这种方法之后,这些是我尝试过的其他选项:
  • 将 app/cache 和 app/logs 的所有者更改为 nginx:nginx
  • 将上述文件夹的权限更改为 777
  • 验证并重新验证 PHP 在 nginx 用户下运行,我必须在 www.conf
  • 中更改它
  • 如果我执行 ls -Al 它显示 app/cache 和 app/logs 归 nginx
  • 所有
  • 每次更改后重新启动服务
  • 完全重启服务器
  • 清除缓存并执行预热,仍然
  • 尝试了 symfony 提供的 umask 选项,仍然。

  • 所以在所有这些选项之后,我仍然遇到同样的问题,对于其他有这个问题的人来说,它只是遵循 Symfony2 指南来应用 ACL 和 puff,完成。但这种情况并非如此。

    我错过了什么?

    Ps:我仔细检查了文件夹的权限..我以root身份在服务器中。

    更新 1

    我从头开始重新安装 CentOS 7 并关注 https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7并结合 Symfony 对配置文件的建议,我仍然收到“Uncaught exception 'RuntimeException' with message 'Unable to create the cache directory”错误

    最佳答案

    您可能会遇到 SELinux 问题,因为 CentOS 7 附带了默认运行的 SELinux。

    可以通过执行setenforce 0进行测试看看这是否能解决问题。如果可行,您需要配置 SELinux 以允许 nginx 用户写入缓存目录,然后重新启用 SELinux。 SELinux 确实提供了一些良好的安全性,因此最好弄清楚如何正确配置它,而不是完全关闭它。

    关于php - Symfony2 NGINX 无法创建缓存目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713929/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com