Yii2无法写入资产文件夹

时间:2015-12-10 11:10:08

标签: php vagrant yii2

我刚刚安装了Yii2高级版的新副本,但我无法加载样式表。错误似乎是Yii(或webserver)无法创建路径/var/www/frontend/web/assets/1ecfb338/css,尽管在相同的http请求中这样做是错误的。即使在没有VM的情况下加强了777的文件权限之后,Yii也似乎没有进一步尝试编写样式表。

enter image description here

如果我只是刷新页面加载而没有错误,但样式表bootstrap.css尚未在目录中创建。

这是最令人沮丧的。有没有人有任何想法?

如果重要的话,我在使用Virtualbox的Vagrant虚拟机中运行Yii。 Debian是VM OS,Ubuntu是主机。

3 个答案:

答案 0 :(得分:2)

以前没有经历过这种情况很奇怪。我能够通过将模式更改为777 作为超级用户外部虚拟机来解决此问题。从虚拟机内部做同样的事情没有任何区别。

之前我曾经使用过这种设置从事过很多项目,但之前没有。我正在使用的软件可能是:

主机:

  • Ubuntu 14.04
  • Vagrant 1.7.4
  • Virtualbox 4.3.30

虚拟机:

  • Debian Jessie
  • Nginx 1.6.2
  • PHP 5.6.14

编辑:我发现我错误地定义了同步文件夹。我不得不改变这样做:

config.vm.synced_folder "./", "/var/www", id: "vagrant-root", :group=>'www-data', :mount_options=>['dmode=775,fmode=775']

答案 1 :(得分:1)

您只需为特定目录授予权限,例如:

sudo chmod -R 777 /var/www/frontend/web/assets

答案 2 :(得分:0)

对我来说,解决方案是添加

sed -i's / www-data / vagrant / g'/ etc / apache2 / envvars

到Vagrantfile像这里写的 Vagrant file_put_contents permission denied