2011-01-11 68 views
1

我最近創建了需要在後臺運行的腳本..我用這個代碼來運行它...問題開始PHP後臺進程

function run_in_background($Command, $Priority = 0) { 
    if($Priority) 
     $PID = exec("nohup nice -n $Priority $Command 2> /dev/null & echo $!"); 
    else 
     $PID = exec("nohup $Command 2> /dev/null & echo $!"); 
    return($PID); 
} 

,並使用它像這樣

run_in_background('curl http://www.mydomain.com/mypage.php',5); 

不幸的是,它沒有在後臺運行...

我也用:

shell_exec 

代替

exec 

但它仍然無法正常工作。是有什麼錯我的設置..

注意:它不會在後臺運行,但可以肯定的運行時頁面加載...先進

感謝..在你的命令結束

+1

請小心使用此功能,並清楚記錄如何正確使用它。如果用戶可以控制$ Command或$ Priority的值,那麼你有一個命令注入漏洞。攻擊者將能夠在您的Web服務器操作系統上執行相同的權限下運行的命令。 – atk 2011-01-11 05:39:35

回答