代码之家  ›  专栏  ›  技术社区  ›  Anton Medvedev

在Mac OS X上使用Symfony中的应用程序/控制台

  •  2
  • Anton Medvedev  · 技术社区  · 12 年前

    我已经在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 回复  |  直到 6 年前
        1
  •  8
  •   Visavì    12 年前

    如果你在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 .(通常是主文件夹的名称)

        2
  •  0
  •   Pierre    12 年前

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

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

    1. 更改您的apache配置,使apache使用您的用户(anton)而不是www数据运行
    2. 删除mod_php并使用php5-fpm(并将其配置为使用您的用户)
    3. 使用fast_cgi