我不太想将文件夹权限更改为777。这是解决此问题的方法。
首先,我更改了在本地计算机上运行Web服务器的用户(我运行nginx,但是原理适用于所有地方):
$> sudo vim /etc/nginx/nginx.conf
user <my_user> #inside nginx.conf
service nginx reload
之后,我index.php
在该public/
文件夹下创建了另一个文件,以找出谁在运行我的php-fpm版本以及在哪里进行更改:
<?php
phpinfo();
?>
重新加载页面后,我发现www-data
是用户(在“环境”部分下)。我还发现我正在运行php 7.1。我着手更改用户:
$> sudo vim /etc/php/7.0/fpm/pool.d/www.conf
#Look for www-data or the following variables: user, group, listen.user, listen.group.
最后,我授予了文件夹以下权限:
sudo chmod -R 775 ./storage/
现在,通过使用以下简单方法,确保我是文件夹的所有者:
ls -al
如果您将服务器和php-fpm用户设置为您自己,并且文件夹由例如root拥有,那么您将继续遇到此问题。如果您sudo laravel new <project>
以root用户身份进行,则可能会发生这种情况。在这种情况下,请确保chown
在项目上使用递归命令来更改user:group
设置。在大多数默认情况下,这www-data
是服务器和php的主要设置,在这种情况下,要确保文件夹不会超出www-data
范围。
我的项目在我的主目录中设置。在Ubuntu 16.04和Laravel 5.5上。