gpt4 book ai didi

php - 什么会导致 unlink 返回 'Resource Temporarily Unavailable' ?

转载 作者:行者123 更新时间:2023-12-04 19:16:40 24 4
gpt4 key购买 nike

我想创建一个 .zip 存档,将其上传到 Amazon S3,然后从服务器上删除创建的 .zip。第 1 步和第 2 步运行良好,但删除步骤返回:

unlink(temp/file.zip): 资源暂时不可用

我已尝试取消设置所有相关变量和资源,但我仍然遇到错误。

代码如下:

$zipFile = 'temp/file.zip';

// create the zip archive:
$z = new \ZipArchive();
$z->open($zipFile, \ZipArchive::CREATE);
$z->addEmptyDir('testdirectory');

// add a file
$filename = 'fileName.txt';
$content = 'Hello World';
$z->addFromString('testdirectory/' . $filename, $content);
$z->close();

// upload to S3
$s3 = AWS::createClient('s3');
$result = $s3->putObject(array(
'Bucket' => 'my-bucket-name',
'Key' => basename($zipFile),
'SourceFile' => $zipFile
));

// check to see if the file was uploaded
if ($result['@metadata']['statusCode'] == "200") {
$uploaded = true;
}

// delete the temp file
if ($uploaded) {
unset($result);
unset($s3);
unset($z);
if (file_exists($zipFile)) {
unlink($zipFile);
}
}

一些额外的细节:我正在使用 Lumen 5.4 和 aws-sdk-php-laravel 包。

任何见解将不胜感激!谢谢。

最佳答案

S3 正在占用资源,因此我们必须强行清除 gc(垃圾收集器)。

在删除该文件之前只需执行 gc_collect_cycles()

关于php - 什么会导致 unlink 返回 'Resource Temporarily Unavailable' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45966765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com