0
我想在php中處理我的訪問日誌 - 檢查一些IP,它們是內容泄漏等等,一切都在PHP中,以CLI的方式運行。我試圖做出如下,但它永遠不會傳遞exec tail -f,所以實際上我無法處理數據。任何幫助讚賞。PHP exec背景永遠不會完成
$log = '/var/log/lighttpd/web.org-access.log';
$pipefile = '/www/web.org/tmp/fifo.tmp';
if(file_exists($pipefile))
if(!unlink($pipefile))
die('unable to remove stale file');
umask(0);
if(!posix_mkfifo($pipefile,0777))
die('unable to create named pipe');
exec("tail -f $log > $pipefile 2>&1 &"); //I tried nohup and so on...
//exec("varnishncsa $log > $pipefile 2>&1 &"); //will be here instead tail -f
echo "never comes here"; //never shows up
如果可能的話,我想這樣做只是在PHP中,沒有慶典/ tcsh的腳本(我知道如何使用這些做到這一點)。
謝謝。
感謝的答案,但是你可以看到,我已經將輸出重定向? – 2ge
是的,但不通過exec函數。你是否已經嘗試傳入'''&$ output'''參數? –
解釋:PHP可能會等待您的輸出,因爲您在命令中執行重定向,而不是通過執行調用進行輸出。 –