2009-06-24 170 views
0

我已經構建了一個從命令行運行的php腳本。它打開一個連接到pop3電子郵件帳戶並下載所有電子郵件並將它們寫入數據庫,並在下載後刪除它們。我有一個bat文件從命令行調用這個腳本。我又創建了一個計劃任務,每5分鐘調用一次bat文件。問題是,我已經把時間設置爲零,因爲有時可能會有大量附件的電子郵件,而且腳本實際下載附件並將它們作爲原始文件脫機存儲,並且不允許超時以便腳本不死在下載過程中。作爲計劃任務運行的PHP腳本掛起 - 幫助!

我發現程序有時會掛起,有點煩人 - 它總是掛起一點,即在協商連接並連接到郵件服務器時。而且由於超時設置爲零,它似乎一直停留在該位置。並且因爲這個任務不是按照技術上的掛起來運行的。

我希望程序在下載電子郵件時不應該超時 - 但是在它正在協商連接或試圖連接到郵件服務器的地方,應該只在該點本身而不是程序的其餘部分超時執行。

如何做到這一點:(

+0

如何連接到pop3電子郵件帳戶? – 2009-06-24 08:31:04

回答

0

的超時值可以使用socket_set_timeout()如果你直接使用套接字,你可以看看this other question的詳細信息,如果您使用的是圖書館,你可以設置應該檢查它的文檔,但我寧願檢查它是否真的是是超時問題Log php errors into a file,你可以瀏覽它們全部設置max_execution_time爲一些可接受的值(如10分鐘),並檢查日誌,當它再次掛起,如果它始終是它的失敗線路

0

我最近遇到了這個問題,誰是誰尋找答案。我有任務調度程序直接調用.php文件。它會掛起,永遠不會返回任何東西。

我發現運行firefox.exe並將url作爲參數發送是通過任務管理器運行.php文件的正確方法。

firefox.exe「http://host/dir/file.php」