php symfony2安装缓存权限

时间:2011-10-21 06:18:41

标签: php caching symfony permissions

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

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

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

我已完成chown -R myuser:apache symfony - 仍然没有

我在umask(0000)中尝试了umask(0002)console.php/app_dev.php/app.php - 仍然没有

当我将页面刷新到http://localhost/symfony/web/app_dev.php时,我收到了SElinux警报......这是否会导致某些问题?我不确定......所有的symfony内容都是可写的。

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

我正在使用Fedora 13。

2 个答案:

答案 0 :(得分:4)

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

setenforce 0

答案 1 :(得分:0)

当默认的apache umask不同时,PHP的umask可能没有效果。

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

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

    重新加载apache服务

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

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

      1. 删除app / cache,app / logs dirs

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

      3. 删除app / cache,app / logs dirs

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

      5. 现在,您可以忘记缓存并在此特定服务器上记录所有后续项目的权限。