Valet 基于权限的问题(看起来如此)
Permission based issue with Valet (so it seems)
我让 Valet 开始工作,可以 ping 通 .test 域等。
但是,当我创建 laravel new test-site
时,我遇到了一堆基于权限的错误。我“sudo”了 laravel 构建,但我被反复警告不要这样做。
如果我随后在浏览器上查看该站点,我将收到以下错误:
还有这个:
所以 - 问题是我将 "sites" 文件夹(我可以 "builds")放在我机器的不适当部分吗?
您需要授予您存储目录的权限。
在我当地mac我通常
sudo chmod -R 777 storage/
但这在 server/production 上是可行的。我建议您更改目录所有权。因此,将您登录的当前用户设置为所有者,并将网络服务器用户(www-data,apache,...)设置为组。你可以试试这个:
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
然后设置目录权限试试这个:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
网络服务器用户和组取决于您的网络服务器和您的 OS。要弄清楚您的 Web 服务器用户和组是什么,请使用以下命令。
对于 nginx 使用:
ps aux|grep nginx|grep -v grep
对于 apache 使用:
ps aux | egrep '(apache|httpd)'
我让 Valet 开始工作,可以 ping 通 .test 域等。
但是,当我创建 laravel new test-site
时,我遇到了一堆基于权限的错误。我“sudo”了 laravel 构建,但我被反复警告不要这样做。
如果我随后在浏览器上查看该站点,我将收到以下错误:
还有这个:
所以 - 问题是我将 "sites" 文件夹(我可以 "builds")放在我机器的不适当部分吗?
您需要授予您存储目录的权限。
在我当地mac我通常
sudo chmod -R 777 storage/
但这在 server/production 上是可行的。我建议您更改目录所有权。因此,将您登录的当前用户设置为所有者,并将网络服务器用户(www-data,apache,...)设置为组。你可以试试这个:
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
然后设置目录权限试试这个:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
网络服务器用户和组取决于您的网络服务器和您的 OS。要弄清楚您的 Web 服务器用户和组是什么,请使用以下命令。
对于 nginx 使用:
ps aux|grep nginx|grep -v grep
对于 apache 使用:
ps aux | egrep '(apache|httpd)'