从Laravel,我无法打开流:权限被拒绝

时间:2019-04-01 05:56:19

标签: php laravel

我使用Laravel 5.4,并在Web服务器上出现以下错误

  

PHP致命错误:未捕获ErrorException:file_put_contents(/github/myweb/monitor/storage/framework/views/b38c71581503e85762ce2fe49a8bis726b1164d9.php):无法打开流:权限被拒绝n / github / myweb / monitor / vendor / laravel / framework /src/Illuminate/Filesystem/Filesystem.php:122\nStack trace:\ n#0 [内部函数]:

当我在本地进行测试时,一切都很好,但是将代码推送到服务器后,路径'/github/myweb/'所在的位置却出现错误。我想要这样的路径

/var/www/master/monitor

如何从路径中删除前缀'/github/myweb/'我不知道它来自

怎么了?

3 个答案:

答案 0 :(得分:3)

首先清除缓存,

php artisan config:clear
php artisan config:cache

然后运行sudo chmod -R 777 storage/

或者,您也可以删除bootstrap / cache / config.php

答案 1 :(得分:0)

如果您进入应用程序,则可能会看到某些文件夹具有“ www-data”用户或组。

如果您使用Laravel Forge来解决此问题,则要将用户和组更改为“ forge”。

您可以使用-R标志来递归地执行此操作,而不必进入每个目录并在每个文件和文件夹上运行它。

sudo chown -R forge:forge storage

现在,您可以重新获得进步!

答案 2 :(得分:0)

我不确定我所做的是否正确,但我更改了缓存文件夹的所有者和组以匹配应用程序的其余部分

/var/www/html/snipeit/storage/framework# chown -R snipeitapp:www-data cache/