Symfony2 缓存权限问题 ubuntu 12.10

Ank*_*kar 7 permissions xampp 12.10

我已经在 /opt/lampp 中安装了 lampp 1.8.1。一切正常。

我将当前用户作为所有者添加到 htdocs 文件夹,以便我可以写入 htdocs 文件夹。

然后我创建了我的 symfony2 项目。一切正常,我能够正确运行配置页面。

但是当我使用命令清除缓存时

sudo php app/console cache:clear --env=prod
sudo php app/console cache:clear --env=dev
Run Code Online (Sandbox Code Playgroud)

缓存被清除,但随后出现权限问题。当我尝试访问与之前相同的配置页面时,它在浏览器中出现错误:

" RuntimeException: 无法写入缓存文件 "/opt/lampp/htdocs/Symfony/app/cache/dev/classes.php"。"

但是当我再次使用以下方法更改缓存文件夹的权限时:

sudo chmod -R 777 app/cache
Run Code Online (Sandbox Code Playgroud)

页面再次正常显示

我不想每次清除缓存后都更改权限。有解决方案还是我做错了什么?

gar*_*kio 15

请参阅http://symfony.com/doc/current/book/installation.html#configuration-and-setup 中的“设置权限” 。我在 Ubuntu 中的首选方式是 setfacl,它可以工作(只需要第一次安装一个包):

sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
Run Code Online (Sandbox Code Playgroud)

  • 如果您的主机上没有命令 setfacl,请执行 `sudo apt-get install acl` (2认同)