尝试删除 Laravel 5.1 中的 S3 目录(和内容)时出错
Error trying to delete S3 directory (and contents) in Laravel 5.1
我正在尝试删除包含任何先前文件夹或内容的整个目录。我可以删除上传、创建和删除单个文件,但在删除主文件夹时出错:
文件夹以 Auth::user
id 开头,所以我希望在删除用户时删除 master 文件夹。
第一个选项:Storage::disk('s3')->deleteDirectory(Auth::id());
错误:"Maximum function nesting level of '100' reached, aborting!"
读数:https://gist.github.com/jackbarham/14fce68b51abe4eaadd2
第二个选项:Storage::deleteDirectory(Auth::id());
错误:"Call to a member function delete() on integer"
读数:https://gist.github.com/jackbarham/32dc6dc6c3d7f1b3c636
我一直在使用 Storage::disk('s3')->delete($path . $filename);
添加和删除单个文件,没有任何问题。
我正在使用 AWS SDK V3(根据 Laravel 文档)
(1)
First option: Storage::disk('s3')->deleteDirectory(Auth::id()); Error: "Maximum function nesting level of '100' reached, aborting!"
这个问题比较棘手,因为问题不一定是由您的代码引起的。有一次这个错误,在我的例子中,托管我调用的 API 的服务器有负载问题。无法有效处理呼叫,因此出现我这边的错误。
在这种情况下,您可以尝试将 php.ini 中的 xdebug.max_nesting_level
从 100
增加到 200
- 然后重试。更多关于 属性 here.
(2)
Second option: Storage::deleteDirectory(Auth::id()); Error: "Call to a member function delete() on integer"
这个看起来更明显。 deleteDirectory()
将字符串作为第一个参数,而 Auth::id()
为您提供整数。将其转换为正确的类型:(string)Auth::id()
.
无论如何,希望更改 xdebug.max_nesting_level
值可以完成工作。
我正在尝试删除包含任何先前文件夹或内容的整个目录。我可以删除上传、创建和删除单个文件,但在删除主文件夹时出错:
文件夹以 Auth::user
id 开头,所以我希望在删除用户时删除 master 文件夹。
第一个选项:Storage::disk('s3')->deleteDirectory(Auth::id());
错误:"Maximum function nesting level of '100' reached, aborting!"
读数:https://gist.github.com/jackbarham/14fce68b51abe4eaadd2
第二个选项:Storage::deleteDirectory(Auth::id());
错误:"Call to a member function delete() on integer"
读数:https://gist.github.com/jackbarham/32dc6dc6c3d7f1b3c636
我一直在使用 Storage::disk('s3')->delete($path . $filename);
添加和删除单个文件,没有任何问题。
我正在使用 AWS SDK V3(根据 Laravel 文档)
(1)
First option: Storage::disk('s3')->deleteDirectory(Auth::id()); Error: "Maximum function nesting level of '100' reached, aborting!"
这个问题比较棘手,因为问题不一定是由您的代码引起的。有一次这个错误,在我的例子中,托管我调用的 API 的服务器有负载问题。无法有效处理呼叫,因此出现我这边的错误。
在这种情况下,您可以尝试将 php.ini 中的 xdebug.max_nesting_level
从 100
增加到 200
- 然后重试。更多关于 属性 here.
(2)
Second option: Storage::deleteDirectory(Auth::id()); Error: "Call to a member function delete() on integer"
这个看起来更明显。 deleteDirectory()
将字符串作为第一个参数,而 Auth::id()
为您提供整数。将其转换为正确的类型:(string)Auth::id()
.
无论如何,希望更改 xdebug.max_nesting_level
值可以完成工作。