nginx上的Laravel权限



我正在Digital Ocean上向Ubuntu部署一个项目,使用这些说明书

我遇到了权限问题,如果我授予这些权限sudo chown -R www-data.www-data /var/www/project/storage sudo chown -R www-data.www-data /var/www/project/bootstrap/cache

我可以访问我的登录页面(尽管每隔一条路由都会出现500个错误(,但每当我尝试运行php artisan optimize、route:clear等时,我也会得到The stream or file "/var/www/project/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

如果我设置了这个的权限

sudo chown -R $USER /var/www/project/storage sudo chown -R $USER /var/www/project/bootstrap/cache

我遇到了相反的问题,我可以运行artisan命令并写入日志,但没有页面可访问。

如有任何帮助,将不胜感激

除了设置groupownerchmod -R www-data.www-data /var/www/project之外,您可能还需要更改特定的dir权限。

sudo chmod -R 775 /var/www/project/storage/
sudo chmod -R 775 /var/www/project/bootstrap/cache

如果您试图在服务器上的/var/www/project目录中执行操作,请确保您登录到服务器的userwww-data组中的一样。

只需在shell中键入groups,就可以检查您所在的组。如果在返回的列表中没有看到www-data,请添加自己。

usermod -aG www-data $USER

一旦您将自己添加到www-data组,您将需要重新登录以使更改生效。

您需要将boostrap缓存文件夹和laravel.log文件更改为读取、写入和执行。去你的laravel项目,并把这个代码

sudo chmod 777 bootstrap/cache/
sudo chmod 777 storage/logs/*.log

最新更新