Laravel: 无法打开流权限被拒绝
Laravel: failed to open stream permission denied
尝试寻找可靠的答案,但还没有。我目前的设置如下:
- 本地ubuntu服务器
- docker
- laravel申请
当 storage/ 和 bootstrap/ 的所有权设置为 www-data:www-data (chown) 时,应用程序运行良好。我遇到的唯一问题是当我尝试 运行 composer 或 artisan 命令时它会给我一个错误:
Generating optimized autoload files
Illuminate\Foundation\ComposerScripts::postAutoloadDump
@php artisan package:discover --ansi
UnexpectedValueException
The stream or file "/home/amplr/portal.amplr.be/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied
当我将所有权设置回 ubuntu 用户时,作曲家和 artisan 工作,但应用程序抛出权限错误。完成作曲家命令后,我必须回到 www-data:www-data。
我做错了什么?
我会用
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
连同
chmod -R 775 storage
chmod -R 775 bootstrap/cache
因此,您的 linux 用户获得了 read/write/execute,并且通过 www-data 组获得了 apache。
这可能已经在 post 中得到了回答。
Laravel daily log created with wrong permissions
本质上,这里有两个不同的用户在工作:
您的 PHP FPM 用户将是 www-data:www-data
。该用户将有权写入日志文件,这就是为什么这目前对您有用。
您 PHP CLI 用户将是您登录的任何用户。该用户听起来没有写入日志文件的权限。
有很多解决方案,从开放所有权限(坏主意)到为 FPM 和 CLI 用户创建新的日志文件。
尝试寻找可靠的答案,但还没有。我目前的设置如下:
- 本地ubuntu服务器
- docker
- laravel申请
当 storage/ 和 bootstrap/ 的所有权设置为 www-data:www-data (chown) 时,应用程序运行良好。我遇到的唯一问题是当我尝试 运行 composer 或 artisan 命令时它会给我一个错误:
Generating optimized autoload files Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover --ansi UnexpectedValueException The stream or file "/home/amplr/portal.amplr.be/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied
当我将所有权设置回 ubuntu 用户时,作曲家和 artisan 工作,但应用程序抛出权限错误。完成作曲家命令后,我必须回到 www-data:www-data。
我做错了什么?
我会用
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
连同
chmod -R 775 storage
chmod -R 775 bootstrap/cache
因此,您的 linux 用户获得了 read/write/execute,并且通过 www-data 组获得了 apache。
这可能已经在 post 中得到了回答。
Laravel daily log created with wrong permissions
本质上,这里有两个不同的用户在工作:
您的 PHP FPM 用户将是
www-data:www-data
。该用户将有权写入日志文件,这就是为什么这目前对您有用。您 PHP CLI 用户将是您登录的任何用户。该用户听起来没有写入日志文件的权限。
有很多解决方案,从开放所有权限(坏主意)到为 FPM 和 CLI 用户创建新的日志文件。