2012-05-23 71 views
0

我有一個問題與其他許多人有關,但有一些關鍵的區別。我有一個PHP腳本,需要每15分鐘(900秒)完成一些常規工作(從數據庫中刪除一個元組)。這需要一遍又一遍地完成。所以,我用set_time_limit(0)來防止PHP超時。該應用程序完美適用於第一次迭代,然後被淘汰,因爲服務器不會讓腳本運行超過1000秒。我設想了一種解決方法,但我不確定如何實際編寫它。我需要一個腳本來做非常少的事情,而不是睡900秒 - 這不是問題。然後我需要它來啓動工作程序,睡眠程序需要結束。工作計劃將做到這一點(幾秒鐘)。然後它需要再次啓動睡眠程序,並且工作程序需要結束。這樣,沒有腳本運行超過1000秒(在一次迭代中)。我試過使用包括,頭文件和其他一些東西,但到目前爲止我沒有運氣。鑑於這個應用程序對我的工作有多重要,我非常感謝幫助 - 任何想法?使用PHP切換程序以避免服務器超時

回答

0

您是否知道,您可以在沒有瀏覽器等待頁面的情況下從命令行運行PHP腳本?如果你從那裏運行腳本而不是CGI,它不會低於1000秒的限制。它甚至可以被稱爲每15分鐘通過cron來完成它的工作。

0

好吧 - 自己想清楚了。下面是一個示例代碼:

Chaintest:

<html> 
<body onload="form1.submit()"> 
<form id="form1" action="chaintest2.php" method="post"> 
</form> 
<?php 
print"Begun"; 
sleep(5); 
?> 
</body> 
</html> 

Chaintest2:

<html> 
<body onload="form1.submit()"> 
<form id="form1" action="chaintest.php" method="post"> 
</form> 
<?php 
print"PHP excecuted"; 
sleep(5); 
?> 

此代碼將只是不停來回彈跳(打印出開始和PHP執行) 。它永遠不會通過PHP或服務器超時。