Laravel搞砸了Homestead Permissions

时间:2017-12-18 14:11:17

标签: linux laravel file-permissions

我似乎搞乱了Homestead的Linux权限,我的应用程序抛出的异常就是无法找到那些存在的视图而且“无法创建根目录"。

我之前做了一个递归chmod,我认为这是问题的原因,问题是我不知道如何还原它。

在我的after.sh Homestead脚本中,我设置了以下配置规则

sudo chown -R www-data:www-data /home/vagrant/Code/myapp
sudo usermod -a -G www-data vagrant

sudo find /home/vagrant/Code/myapp -type f -exec chmod 644 {} \;
sudo find /home/vagrant/Code/myapp -type d -exec chmod 755 {} \;

sudo chgrp -R www-data /home/vagrant/Code/myapp/storage /home/vagrant/Code/myapp/bootstrap/cache
sudo chmod -R ug+rwx /home/vagrant/Code/myapp/storage /home/vagrant/Code/myapp/bootstrap/cache

我执行了这些并且没有任何反应,它仍然会出现相同的错误,所以我去检查了 NGINXs nginx.conf文件,它引用了{{1因为它的用户正确...

在我的根项目文件夹(在Vagrant VM内部)上调用vagrant会返回以下信息。非常感谢任何帮助,谢谢。

ls -lsa

1 个答案:

答案 0 :(得分:0)

我已经弄明白了,出于某种原因,在我的/ bootstrap / cache目录中,laravel引用了我的主机上的路径而不是我的流浪盒,清除这个目录对我来说很有用。出于某种原因,php artisan cache:clear没有清除这些文件。

每次配置我的Vagrant Box时,我都会设置一个配置脚本来删除这些文件。

# Remove Cache Files (because old cache files can cause issues from time to time)  [Keep .gitignore in all Directories]
sudo find "$APPPATH/bootstrap/cache" ! -name '.gitignore' -type f -exec rm -f {} +
sudo find "$APPPATH/storage/framework/cache" ! -name '.gitignore' -type f -exec rm -f {} +
sudo find "$APPPATH/storage/framework/sessions" ! -name '.gitignore' -type f -exec rm -f {} +
sudo find "$APPPATH/storage/framework/testing" ! -name '.gitignore' -type f -exec rm -f {} +
sudo find "$APPPATH/storage/framework/views" ! -name '.gitignore' -type f -exec rm -f {} +