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