1

我在 Mac Os X Lion (10.7.4) 中使用 Symfony 2.0.12。

由于某种原因,每次我清除缓存(php app/console cache:clear)时,cache/* 文件夹的权限都会丢失。

结果是我尝试进入我的应用程序,它开始给我一堆错误,比如“无法在 app/cache/dev/XXX 文件夹中写入”。

因此,开始了与机器的“战斗”。一旦我授予该文件夹的权限,我很快就会收到下一个 YYY 文件夹的错误消息。这发生在大约 8 或 9 个文件夹中,直到我赢了,一切显然又开始正常工作了。

有没有人通过这个?清除缓存时如何设法保存权限?

4

2 回答 2

2

在文档中有一些关于如何设置权限的替代命令。但我不知道他们是否适用于 mac。选中设置权限框。

http://symfony.com/doc/current/book/installation.html

在我的 ubuntu 系统上,以下命令使权限永久化

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

在我看来,让网络服务器以您的用户身份运行并不是一个好主意,因为网络服务器不应该访问您的个人文件等等......

于 2012-06-03T16:02:41.110 回答
0

如果您以与创建缓存文件的 php 进程不同的用户身份运行命令,则会发生这种情况。您必须以 Web 服务器用户身份运行命令,使 Web 服务器以您的用户身份运行,或者在运行命令后 chown/chmod 应用程序/缓存应用程序/日志目录。

于 2012-06-02T03:48:01.130 回答