Laravel 部署:文件夹权限
问 Laravel
部署后,哪些文件夹需要写权限?
答 storage
目录包含编译后的 Blade
模板、session
会话生成的文件、缓存文件以及框架生成的其他文件。
这个目录被细分成 app
、 framework
和 logs
三个子目录:
app
目录可以用来存储应用生成的任何文件;
framework
目录用来存储框架生成的文件和缓存;
logs
目录包含应用的日志文件。
如果 storage
目录的权限不正确,可能导致应用运行出现异常,例如出现:
The stream or file "/var/www/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
所以 storage
需要读写权限,设置如下:
方法一 更改 storage
文件夹权限 chmod -R 0755 storage
更改 storage
文件夹拥有者与 php-fpm.conf
运行用户一致,如 php-fpm.conf
配置为
则命令为 chown -R www-data:www-data storage
方法二更改 storage
文件夹权限为 chmod -R 0777 storage
注意
生产服务器上应该遵循「最小权限原则」,推荐使用「方法一」
Last updated