我正在尝试使用任何前面的文件夹或内容删除整个目录。我可以删除上传,创建和删除单个文件,但在删除主文件夹时会出错:
文件夹以Auth::user
id开头,所以我希望在删除用户时删除主文件夹。
第一个选项:Storage::disk('s3')->deleteDirectory(Auth::id());
错误:“达到'100'的最大功能嵌套级别,正在中止!”
读数:https://gist.github.com/jackbarham/14fce68b51abe4eaadd2
第二个选项:Storage::deleteDirectory(Auth::id());
错误:“在整数”上调用成员函数delete()
读数:https://gist.github.com/jackbarham/32dc6dc6c3d7f1b3c636
我一直在使用Storage::disk('s3')->delete($path . $filename);
添加和删除单个文件而没有任何问题。
我正在使用AWS SDK V3(根据Laravel文档)
答案 0 :(得分:1)
<强>(1)强>
第一个选项:存储::磁盘('s3') - &gt; deleteDirectory(Auth :: id());错误:“达到'100'的最大函数嵌套级别,正在中止!”
这个很棘手,因为问题可能不一定是由您的代码引起的。有这个错误一次,在我的情况下托管我正在调用的API的服务器有负载问题。无法有效处理呼叫,因此我的错误。
在这种情况下,您可以尝试将 php.ini 中的xdebug.max_nesting_level
从100
增加到200
- 然后重试。有关该物业的更多信息 here 。
<强>(2)强>
第二个选项:Storage :: deleteDirectory(Auth :: id());错误:“在整数”
上调用成员函数delete()
这个似乎更明显。 deleteDirectory()
将字符串作为第一个参数,而Auth::id()
则为整数。将其转换为正确的类型:(string)Auth::id()
。
无论如何,希望改变xdebug.max_nesting_level
值可以完成这项工作。