我有两个不同的点,我需要写入同一个日志文件,一个是concole命令文件,另一个是web控制器。在这两种情况下,我使用append命令:
append
Storage::disk('local')->append($logfilePath, $content);
问题是文件是用权限664(-rw-r--r--)创建的,所以取决于创建文件的进程,另一个进程不能写入它。有没有什么方法可以使用权限为666的Storage类创建文件?
-rw-r--r--
Storage
vmjh9lq91#
我在这里分享我找到的解决方案:在config/filesystems.php中,我将以下代码添加到local:
config/filesystems.php
local
'local' => [ 'permissions' => [ 'file' => [ 'public' => 0666, 'private' => 0600, ], 'dir' => [ 'public' => 0755, 'private' => 0700, ], ], ],
创建新文件时,我指定希望文件具有的权限:
if (!Storage::disk('local')->exists($logFilePath)) { Storage::disk('local')->put($logFilePath, $content, 'public'); } else { Storage::disk('local')->append($logFilePath, $content); }
请注意,在使用append时,您不能设置文件权限,即使它尚未创建。
1条答案
按热度按时间vmjh9lq91#
我在这里分享我找到的解决方案:
在
config/filesystems.php
中,我将以下代码添加到local
:创建新文件时,我指定希望文件具有的权限:
请注意,在使用
append
时,您不能设置文件权限,即使它尚未创建。