【发布时间】:2018-10-22 01:05:15
【问题描述】:
我有基于 symfony 3 的网络。对于部署,我有自己的 bash 脚本。在这个脚本中有一些例程,比如 git pull、清除缓存...
在服务器上是:Debian GNU/Linux 9 (stretch)
但部署后我可以在prod.log 中看到异常:
[2018-05-11 16:55:36] request.CRITICAL:未捕获的 PHP 异常 InvalidArgumentException:“目录“/var/www/domain.com/var/cache/prod/annotations”不可写。”在 /var/www/domain.com/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php 第 92 行 {"exception":"[object] (InvalidArgumentException(code: 0): The directory \" /var/www/domain.com/var/cache/prod/annotations\" 不可写。在 /var/www/domain.com/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php: 92)"} []
但问题是 - 在清除缓存之前和之后我有命令 chmod -R 777 /var 并且在部署之后如果我查看 /var/cache/prod/annotations 我看到新文件的更改时间等于我运行清除缓存的时间(通过sh 脚本)。
有人有什么想法吗?在哪里看什么检查?
【问题讨论】:
-
chmod -R 777 /var我认为更改整个/var目录的权限是一个糟糕的主意。 ://
标签: php symfony caching deployment permissions