【问题标题】:php symfony2 installation cache permissionsphp symfony2 安装缓存权限
【发布时间】:2011-12-12 08:08:24
【问题描述】:

我已经下载了 2.0.4...我无法通过权限问题的“无法创建缓存目录”原因...

我试过chmod 777 -R symfony -- 对所有文件夹,仍然无法创建缓存目录

我试过setfacl 但它说无法识别 -m 选项.... 我的系统不支持chmod +a

我已经完成了chown -R myuser:apache symfony -- 还是什么都没有

我在console.php/app_dev.php/app.php 中尝试过umask(0000)umask(0002) -- 还是什么都没有

当我将页面刷新到http://localhost/symfony/web/app_dev.php 时,我收到一个 SElinux 警报...这是导致什么问题吗?我不确定……所有 symfony 内容都是可写的。

我不确定是不是我……但这让我发疯了,也许我应该停止使用 symfony2。

我正在使用 Fedora 13。

【问题讨论】:

    标签: php caching symfony permissions


    【解决方案1】:

    您似乎需要将 SELinux 切换到 Permissive 状态。您可以以 root 用户身份执行此操作:

    setenforce 0
    

    【讨论】:

      【解决方案2】:

      当默认 apache umask 不同时,PHP 的 umask 可能无效。

      最初我使用 setfact,但这增加了部署开销。 在 ubuntu 服务器上对我有用的是:

      1. 设置默认的 apache umask。 编辑 /etc/apache2/envvars 并在文件末尾添加这一行:
      umask 0002
      

      重新加载apache服务

      1. 将您的部署用户添加到 www-data 组,将 www-data 添加到您的部署用户组。
      adduser www-data `whoami` 
      
      adduser `whoami` www-data
      

      注销或重新启动服务器以使其生效。

      1. 删除应用/缓存、应用/日志目录

      2. 尝试在浏览器中加载页面,注意 app/cache 目录是如何由 www-data 用户创建并具有写入组权限的。尝试清除控制台中的缓存并验证没有发生错误。

      3. 删除应用/缓存、应用/日志目录

      4. 运行 cache:clear,注意 app/cache 目录是如何由用户 deploy 用户创建并具有写入组权限的。尝试在浏览器中加载页面,并验证没有发生错误。

      现在您可以忘记所有后续项目在此特定服务器上的缓存和日志权限。

      【讨论】:

        猜你喜欢
        • 2018-05-22
        • 2013-04-12
        • 1970-01-01
        • 2014-05-05
        • 2013-04-28
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多