PHP压缩压缩提取不工作时,脚本是由Crontab执行


PHP Zip Archive Extract Not working When Script is Executed by Crontab

在我的脚本中,我需要连接到ftp并下载几个zip文件,然后在目录中提取它们。我已经实现了这一点,当我通过浏览器运行脚本时,它按预期工作,但当crontab运行此脚本时,它会抛出我错误,它未能提取文件。我试着研究,但我没有运气,我不明白这是为什么。

下面是我得到的错误:
A PHP Error was encountered
Severity: Warning
Message ZipArchive::extractTo(/home/name/files/complete//filename.txt): failed to open stream: Permission denied
Filename: controllers/import.php
Line Number: 66

脚本:

$txt_file: "/home/name/files/complete/Data.zip";
$server_txt_file = "/TXT/Data.zip";
if (ftp_get($ftp_conn, $txt_file, $server_txt_file, FTP_BINARY))
{
    $zip = new ZipArchive;
    if ($zip->open($txt_file) === TRUE) 
    {
        $zip->extractTo('/home/name/files/complete/');
        $zip->close();
        unlink($txt_file);
    }
}

我正在努力解决这个问题,但我不能找出问题是什么。

错误告诉你所有你需要知道的:

failed to open stream: Permission denied

所以你的php进程没有权限写到指定的文件夹。所以你应该更改指定文件夹的权限