我正在使用Laravel文件系统调用-例如:Storage::disk('sftp')->put,它工作正常,但我想知道如何查看调试或错误信息,如果有需要?
举个例子,如果文件上传失败,我怎么看?当我第一次写代码时,它不工作,没有Laravel异常屏幕,Laravel .log中没有任何内容。
我也是。
我使用Laravel存储库与league/flysystem-sftp
的sftp传输。这是有问题的行。
Storage::disk(self::REMOTE_DISK)->putFileAs($destFolder, $this->localFilePath, $destFilename);
大多数时候一切都很好。文件从本地复制到远程没有任何问题。
但有时会出现一个问题,我不明白在传输过程中发生了什么。(此时)我所能做的就是
$result = Storage::disk(self::REMOTE_DISK)->putFileAs($destFolder, $this->localFilePath, $destFilename);
if ($result === false) {
$exception = new FileUploadFailureException("file upload has failed");
}
有没有更好的方法来调试一个sftp连接故障?
我在FileSystemAdapter:
中注意到了这一点} catch (UnableToWriteFile|UnableToSetVisibility $e) {
throw_if($this->throwsExceptions(), $e);
return false;
}
和throwsExceptions()
检查$this->config['throw']
,所以在config/filesystems.php
我添加到我的s3桶'throw' => true,
的配置数组,现在错误被抛出,而不仅仅是返回false。
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => 'us-east-1',
'bucket' => 'abcd',
'throw' => true, // Failures will throw exceptions
],