设置或修改文件权限 编辑该页面 警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.2,不再维护。 读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。 var必须可写目录由web服务器和命令行用户。 在Linux和macOS系统中,如果您的web服务器用户与您的命令行用户不同,您需要配置权限正确以避免问题。有几种方法可以实现: httpd . conf或apache2.confApache)并设置其用户一样CLI用户(例如Apache,更新用户和集团指令)。 谨慎 如果使用这个解决方案在生产服务器,确保该用户只有有限的权限(不进入私人数据或服务器,执行不安全的二进制文件,等等)作为破坏服务器会给黑客的特权。 chmod +一个(macOS) 在macOS系统上,修改文件权限命令支持+一个标记定义ACL。使用下面的脚本,以确定您的web服务器用户并授予所需的权限: 1 2 3 4 5 6 美元rm射频var /缓存/ *美元rm射频var /日志/ *美元HTTPDUSER = $ (ps axo用户通讯| grep - e(一)pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx”根头| 1 | | grep - v - d \ f1)削减美元sudo chmod +一个”美元HTTPDUSER允许删除、写追加,file_inherit directory_inherit”var美元sudo chmod +一个”美元(显示本用户信息)允许删除、写追加,file_inherit directory_inherit”var setfacl(Linux / BSD) 大多数Linux和BSD发行版不支持chmod +一个,但另一个实用程序的支持setfacl。你可能需要安装setfacl和启用ACL支持在你的磁盘分区之前使用它。然后,使用下面的脚本,以确定您的web服务器用户并授予所需的权限: 1 2 3 4 美元HTTPDUSER = $ (ps axo用户通讯| grep - e(一)pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx”根头| 1 | | grep - v - d \ f1)削减#如果这并不工作,尝试添加' n '选项美元sudo setfacl是u - m:”美元HTTPDUSER”:特权- m u: $ (whoami):特权var美元sudo setfacl - r - m u:”美元HTTPDUSER”:特权- m u: $ (whoami):特权var 请注意 第一个setfacl命令集现有文件和文件夹的权限,而第二个集未来文件和文件夹的权限。这两个命令分配权限的系统用户和Apache用户。 setfacl不可以在NFS挂载点。但是,缓存和存储日志不提倡通过NFS性能的原因。 bin /控制台,web / app.php和web / app_dev.php文件: 1 2 3 4 5 umask (0002年);/ /这将允许的权限是0775/ /或umask (0000年);/ /这将允许的权限是0777 请注意 改变umask不是线程安全的,所以ACL方法推荐时是可用的。 这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。