在Mac OS X上使用Symfony中的app / console

时间:2012-07-28 16:49:54

标签: macos console symfony1 acl chmod

我在Mac Os X上安装了Symfony并执行:

chmod -R 777 app/cache app/log

尝试这样做:

php app/console cache:clear

然后回复错误:

[RuntimeException]                                                                        
Unable to write in the "/Users/anton/Sites/local/Symfony/app/cache/dev" directory 

尝试修复它!谢谢!

2 个答案:

答案 0 :(得分:8)

如果您使用的是Mac,则可以使用ACL,因为它已解释为here。  从项目目录:

sudo chmod +a "_www allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
sudo chmod +a "whoami allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
第一行中的

_www是运行Web服务器的名称

当您键入whoami时,您必须更改第二行中的php app/console cache:clear。 (通常是您的主文件夹的名称)

答案 1 :(得分:0)

显然你的网络服务器(apache?)已经在缓存文件夹中创建了一些文件或目录(因此它们属于网络服务器用户,可能是www-data)。在这种情况下,chmod是不够的,你必须执行chown -R anton app / cache app / log。

为了避免不同缓存文件的不同所有者的一般问题,您的控制台用户和为Web服务器执行php的用户应该是相同的。有不同的方法来实现这一目标。你可以:

  1. 更改您的apache配置,以便apache与您的用户(anton)而不是www-data
  2. 一起运行
  3. 删除mod_php并改用php5-fpm(并将其配置为使用您的用户)
  4. 使用fast_cgi