我只是尝试将 Laravel 项目更改为在 Nginx 而不是 Apache 上运行,但无法获得正确的权限。真的不知道接下来要尝试什么。目前他们在这里:
我什至给了存储文件夹777权限,但没有任何效果。我的博客上有一个管理面板,它总是不断抛出问题
ErrorException in File.php line 190:
chmod(): Operation not permitted
非常感谢任何帮助。
我正在使用 Nginx、PHP 7.0、MySQL。该网站是使用 Laravel 框架编写的。
这会起作用,因为
777
存在安全风险
sudo chmod -R o+w storage/
sudo chmod -R 775 storage/
首先,检查Nginx www conf文件中分配的用户
/etc/php/7.0/php-fpm.d/www.conf
www-data
或 _www
或任何其他。
然后将项目文件夹的所有权更改为
sudo chown $USER:www-data -R ~/Laravel/PBlog/
然后将文件权限更改为
sudo chmod u=+srwX,g=+srX,o=rX -R ~/Laravel/PBlog/
s
标志意味着,在文件夹内添加/创建的任何文件/文件夹都将具有相同的权限。
根据您启动项目的方式,存储文件夹上通常已经有一个 775 标志,另一个简单的解决方法是使用
usermod
和 -aG
选项将您的 Web 服务器用户添加到您的组中:
usermod -aG $USER www-data
我发现解决这个问题的最短方法:
sudo chown -R $USER:www-data storage bootstrap/cache