我試圖通過一個cronjob運行PHP腳本,有時(大約一半時間)我得到以下警告期間有時會失敗):無法打開流:HTTP請求失敗!在/path/myfile.php在線285PHP的file_get_contents的cronjob
該程序繼續運行後,這讓我覺得這不是一個超時問題或內存問題(超時設置爲10分鐘,內存爲128M),但我存儲該函數調用結果的變量是空的。奇怪的部分是,我正在與其他網址參數進行其他幾個電話到這個網站,他們從來沒有問題。這個函數調用的唯一區別是它下載的文件大約是70 MB,而其他文件大約是300 KB。
另外,我從來沒有得到這個警告,如果我SSH進入Web服務器並手動運行PHP腳本,只有當它從一個CRON運行。
我也嘗試使用cURL而不是file_get_contents,但後來內存不足。
謝謝,在這裏的任何幫助將不勝感激。
我給cURL另一個嘗試,看看我得到什麼樣的輸出。我知道我可能不應該保持70 MB的記憶,但它在測試過程中工作,所以我剛剛去了。寫入文件的問題是我沒有權限通過ssh編輯文件,但我想象着cronjob的所有者,我會試一試。 – Casey 2011-05-03 17:09:33
@Casey - 據推測tmp目錄是可寫的。查看http://www.php.net/manual/en/function.tmpfile.php上的第4條評論(注意:他們正在討論通過curl上傳文件,但它基本相同) – Eli 2011-05-03 17:25:13
對,temp是可寫的。我現在將文件保存到php:// temp並從那裏解析它。我會嘗試運行cron,看看會發生什麼。謝謝。 – Casey 2011-05-03 17:52:58