Laravel每日日志创建权限错误
阅读 (245) 2023-02-22 10:40:33
Laravel daily形式的日志每天创建的新日志拥有者总是错误
我有一个使用php artisan(root用户)运行的脚本,有时它会导致在Nginx www用户执行操作之前创建每日日志文件-这意味着当真实用户使用我的Web应用程序时, 文件夹权限错误:
Failed to open stream: Permission denied
我每次都手动将权限更改回www拥有者,但是我想使用正确的权限创建日志文件来解决此问题。
我考虑过创建一个crontab定时任务来修改目录权限来确保它每天都有正确的权限,但是我觉得除了脚本应该有更好的解决方案。
Laravel 5.6.10及更高版本在
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
'permission' => 0664,
],
但这并没有解决目录拥有者的问题,第二天创建的日志拥有者依然是root用户
后来在网上又找到另一个解决方案
在
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/' . php_sapi_name() . '/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
'permission' => 0664,
],
这将为不同的php_sapi_name创建单独的目录,并将带有时间戳的日志文件放入其垂直目录。
- 日志文件在
fpm-fcgi 目录下创建:来自网站www:www 的日志 - 日志文件在
cli 目录下创建:从artisan命令(cronjob)。所有者是root:root
更新于:2023-02-22 10:40:33