2015-01-16 88 views
0

這是一個長時間運行的腳本,即使在用戶關閉瀏覽器時也需要運行腳本。PHP腳本結束時將數據寫入日誌文件

<?php 
ignore_user_abort(true); //run even when user disconnected. 
set_time_limit(0); //run forever if that's what you need :) 
$report = ""; 
while(1){ 
// do stuff and touch $report 
} 
//And the line below doesn't work when user disconnected. 
file_put_contents("./offline.txt", $report, FILE_APPEND | LOCK_EX); 
?> 

我試過register_shutdown_function(),但它似乎並沒有工作。
是否有任何快速修復或其他解決方案來處理任務?

回答

0

如何創建另一個腳本並在後臺運行它?

You can take a look at the 3rd answer here

不要忘記在命令結束時把一個符號(&),因此它實際上將在後臺運行,例如

exec('php newscript.php > /dev/null &'); 
0

也許你可以使用crontab來處理腳本。 您不指定如何啓動腳本 - 如果您在回覆用戶行爲時運行腳本 - 建議使用exec,但是如果您每天運行一個腳本 - 請使用crontab