Yii2无法写入assets文件夹

问题描述 投票:3回答:3

我刚刚安装了一个新的Yii2高级版,但在加载样式表时遇到了问题。这个错误似乎是Yii(或webserver)不能创建路径。/var/www/frontend/web/assets/1ecfb338/css 尽管在同一个http请求中这样做会出错。即使在虚拟机外加强了777的文件权限,Yii似乎也没有进一步尝试写样式表。

enter image description here

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

这是最令人沮丧的。有人有什么办法吗?

如果有问题的话,我在Vagrant虚拟机和Virtualbox中运行Yii。Debian是虚拟机操作系统,Ubuntu是主机。

php vagrant yii2
3个回答
3
投票

这是相当奇怪的,以前没有经历过。我能够通过改变模式到777来纠正这个错误。作为超级用户外面 的虚拟机。从在虚拟机里面做同样的事情,没有任何区别。

我以前在很多项目上都有这样的设置,但以前没有出现过这种情况。我正在使用的可能是负责的软件是。

主机:

  • Ubuntu 14.04
  • Vagrant 1.7.4
  • 虚拟箱4.3.30

虚拟机: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
投票

你只需要给特定的目录权限,比如:

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

0
投票

我的解决方案是添加

sed -i 'swww-datavagrantg' etcapache2envvars。

到流浪者文件,就像这里写的那样Vagrant file_put_contents 权限拒绝

© www.soinside.com 2019 - 2024. All rights reserved.