如何将缓存预热为:webserver_user使用capifony?

时间:2013-10-27 11:08:35

标签: symfony deployment capistrano file-permissions capifony

当我部署Symfony2应用程序时遇到了一个障碍:我必须以用户foo连接到服务器,但是apache以用户www-data运行。 我想使用缓存预热,但后来app/cache/prod由用户foo创建,而不是由www-data创建,以后可以由apache使用。 我该怎么办?

2 个答案:

答案 0 :(得分:0)

su www-data <my command here>

将切换到www-data用户以运行命令。

更好的是:

chmod -R www-data app/cache/prod

更改所有权

也许更好

chown -R o+rw app/cache/prod

这将允许“o”读取和写入缓存。

您甚至可以在app / cache上设置+S位,以便在那里创建的文件获得自动清理权限。

答案 1 :(得分:0)

自Capifony 2.1.x起,已经提供了新的许可功能。

请查看文档章节Automatically set proper permissions

set :use_set_permissions, true    # enables setting the permissions
set :writable_dirs,       ["app/cache", "app/logs"]
set :webserver_user,      "www-data"
set :permission_method,   :acl    # (:acl|:chmod|:chown)