Symfony Apache 2:无法创建缓存目录 /var/cache
Posted
技术标签:
【中文标题】Symfony Apache 2:无法创建缓存目录 /var/cache【英文标题】:Symfony Apache 2 : Unable to create the cache directory /var/cache 【发布时间】:2018-03-09 15:13:08 【问题描述】:我知道这个问题已被多次报告,但我尝试了每一个解决方案,但似乎没有任何效果。
我在 Debian 9 Stretch 上运行 Symfony 3,但存在我无法修复的权限问题
cat /var/log/apache2/project_error.log
php 致命错误:未捕获的 RuntimeException:无法在 /var/www/mobileoutfitters.fr/public_html/vendor/ 中创建缓存目录 (/var/www/mobileoutfitters.fr/public_html/var/cache/prod)\n symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:676\nStack
在/etc/apache2/envvars
:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
我的用户实际上是该组的一部分。我尝试了所有可能的chown -R 777
命令,并且正如 Symfony 文档中所说,这两个命令:
HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1)
sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
我试图删除 var 文件夹,删除它的内容,清除缓存...但是还是这个错误。
【问题讨论】:
检查目录的所有者,也许它的根目录和你的 www-data 不能在那里创建。 目录归我的用户所有,或者由 www-data 拥有,具体取决于我的尝试 【参考方案1】:原来我的 Symfony 数据库已创建但为空。
运行后:bin/console doctrine:schema:update --force
现在可以工作了
【讨论】:
【参考方案2】:我也遇到过同样的问题,对我来说,在我使用 setenforce Permissive
在本地 Centos 虚拟机虚拟机上禁用 selinux 后它就可以工作了。
【讨论】:
以上是关于Symfony Apache 2:无法创建缓存目录 /var/cache的主要内容,如果未能解决你的问题,请参考以下文章
创建新 symfony 项目时出错,无法使用 bin/console
Symfony 2 Apache 2.4 php7 升级 Vhost 文件