3
在我的腳本中,我需要連接到ftp並下載幾個zip文件,然後將它們解壓縮到一個目錄中。我已經得到了這個實現,它運行正常,當我通過瀏覽器運行腳本,但是當crontab
運行這個腳本時,它會引發錯誤,它提取文件失敗。我試圖研究,但我沒有運氣,我不明白這個原因。當PHP腳本被Crontab執行時,PHP Zip Archive Extract不起作用
下面是我得到的錯誤:
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);
}
}
我想現在就解決這個問題了天,但我想不出是什麼問題。
我知道,我也有權限。它在我通過瀏覽器運行時工作,但在crontab運行時會失敗。 – user4676307
@ user4676307:當您從命令行運行php代碼時。腳本以您的用戶權限運行,而不是以www數據用戶權限運行。 –
感謝您的評論我現在明白爲什麼我會收到此錯誤。你能幫助我如何在服務器上改變這個權限嗎?我從來沒有做過這樣的事情。 – user4676307