2017-12-18 220 views
3

我似乎搞砸了Homestead的Linux权限,我的应用程序抛出异常,例如无法找到那里的视图和“无法创建根目录”。Laravel搞砸了家园权限

前段时间我做了一个递归的chmod,我认为是问题的原因,问题是我不知道如何恢复。

在我after.sh家园脚本我设置下面的设置规则

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 

我执行那些并没有任何反应,它仍然得到同样的错误,所以我去检查过了NGINXsnginx.conf文件,它的引用vagrant因为它的用户,这样是正确的......

而且在我的根项目文件夹调用ls -lsa(流浪VM内)返回的F以下信息。任何帮助将不胜感激,谢谢。

0 drwxr-xr-x 1 vagrant vagrant 1280 Dec 18 13:59 . 
    4 drwxr-xr-x 3 root root  4096 Dec 18 13:29 .. 
    4 -rw-r--r-- 1 vagrant vagrant 1771 Dec 18 13:59 after.sh 
    8 -rw-r--r-- 1 vagrant vagrant 7314 Nov 21 09:24 aliases 
    0 drwxr-xr-x 1 vagrant vagrant 320 Dec 17 17:39 app 
    4 -rw-r--r-- 1 vagrant vagrant 1646 Nov 21 09:24 artisan 
    0 drwxr-xr-x 1 vagrant vagrant 160 Dec 12 17:01 bootstrap 
    4 -rw-r--r-- 1 vagrant vagrant 1707 Dec 17 17:51 composer.json 
172 -rw-r--r-- 1 vagrant vagrant 175864 Dec 18 13:24 composer.lock 
    0 drwxr-xr-x 1 vagrant vagrant 544 Dec 18 13:50 config 
    4 -rw-r--r-- 1 vagrant vagrant 1534 Nov 21 09:24 CONTRIBUTING.md 
    8 -rw-r--r-- 1 vagrant vagrant 7970 Dec 16 20:33 _custom_ide_helper.php 
    0 drwxr-xr-x 1 vagrant vagrant 192 Dec 12 16:40 database 
    8 -rw-r--r-- 1 vagrant vagrant 6148 Dec 14 16:31 .DS_Store 
    4 -rw-r--r-- 1 vagrant vagrant 627 Dec 4 12:34 .env 
    4 -rw-r--r-- 1 vagrant vagrant 499 Dec 4 17:29 .env.example 
    0 drwxr-xr-x 1 vagrant vagrant 480 Dec 18 14:02 .git 
    4 -rw-r--r-- 1 vagrant vagrant  61 Nov 21 09:24 .gitattributes 
    4 -rw-r--r-- 1 vagrant vagrant 154 Nov 21 09:24 .gitignore 
    4 -rw-r--r-- 1 vagrant vagrant 1278 Dec 14 08:58 .gitlab-ci.yml 
    4 -rw-r--r-- 1 vagrant vagrant 2389 Dec 18 00:10 gruntfile.js 
    4 -rw-r--r-- 1 vagrant vagrant 335 Dec 12 10:26 Homestead.yaml 
    0 drwxr-xr-x 1 vagrant vagrant 544 Dec 18 14:01 .idea 
512 -rw-r--r-- 1 vagrant vagrant 464272 Dec 18 13:53 _ide_helper.php 
    0 drwxr-xr-x 1 vagrant vagrant 24704 Dec 18 00:03 node_modules 
    4 -rw-r--r-- 1 vagrant vagrant 2164 Dec 18 00:03 package.json 
380 -rw-r--r-- 1 vagrant vagrant 385087 Dec 18 00:03 package-lock.json 
128 -rw-r--r-- 1 vagrant vagrant 93326 Dec 18 13:53 .phpstorm.meta.php 
    4 -rw-r--r-- 1 vagrant vagrant 1190 Dec 15 10:28 phpunit.xml 
    0 drwxr-xr-x 1 vagrant vagrant 320 Dec 12 12:34 public 
    4 -rw-r--r-- 1 vagrant vagrant 855 Dec 12 10:26 readme.md 
    0 drwxr-xr-x 1 vagrant vagrant 160 Nov 21 09:24 resources 
    0 drwxr-xr-x 1 vagrant vagrant 128 Dec 17 16:57 routes 
    4 -rw-r--r-- 1 vagrant vagrant 563 Nov 21 09:24 server.php 
    0 drwxrwxr-x 1 vagrant vagrant 256 Dec 18 13:50 storage 
    0 drwxr-xr-x 1 vagrant vagrant 224 Dec 17 13:42 tests 
    0 drwxr-xr-x 1 vagrant vagrant  96 Dec 18 13:27 .vagrant 
    4 -rw-r--r-- 1 vagrant vagrant 1376 Nov 21 09:24 Vagrantfile 
    0 drwxr-xr-x 1 vagrant vagrant 1280 Dec 18 13:25 vendor 
204 -rw-r--r-- 1 vagrant vagrant 208270 Dec 18 13:50 yarn.lock 

回答

0

我已经想通了,由于某种原因,在我的/引导/缓存目录,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 {} +