Symfony无法创建日志目录

时间:2016-11-07 01:46:19

标签: php apache symfony caching clear

我正在将Symfony部署到Web服务器,一旦部署,我想清除缓存。我现在使用0000的umask来解决任何潜在的权限问题(我在deploument用户下做了明确的事情并在apache用户下运行该站点)。

我使用/var/symfony/cache/projectname/branchname/environment/var/symfony/log/projectname/branchname/environment作为dirs来保存缓存和日志。这些是在AppKernel.php文件中配置的。

当我部署时(使用' php bin / console cache:clear --env = prod --no-debug')我收到一条消息:

  

[RuntimeException的]       无法创建日志目录()

我已经在/ var / symfony / log / dir中创建了一个文件并且工作正常,所以任何想法为什么缓存清除命令都失败了?

我们使用来自/var/symfony/目录的粘滞位将权限设置为drwxrws--t,这样当我们以部署用户身份清除缓存时,它可以将用户设置为apache并将组设置为www他们都在www组。

1 个答案:

答案 0 :(得分:1)

似乎Symfony不会创建用于存储日志的目录结构(尽管它似乎是用于缓存)。这意味着在清除缓存之前需要存在日志目录(在这种情况下为/var/symfony/log/projectname/branchname/environment/

在我的情况下,为了解决这个问题,我将在部署(shell)脚本中运行检查,以确保目录存在并创建目录(如果不存在)。

注意:如果您浏览到该站点(并且权限正确),它将创建日志目录。但是,如果使用console clear cache命令,它将不会创建路径并将失败。