2012-08-16 83 views
4

執行shell命令時出現問題。問題是我想運行一個命令exec('du -sh /var/www/backups/* > backups.log'),但我想按「START」並稍後閱讀backups.log。現在,當我按下按鈕時,我必須等到它完成後,頁面纔會等待腳本結束。在PHP中執行shell命令而不等待結果

回答

5

試圖通過加入「&」這樣的啓動進程在後臺:

exec('du -sh /var/www/backups/* > backups.log &'); 
+0

打我吧.. – 2012-08-16 17:03:03

0

您可以使用AJAX爲解決這個問題,不是嗎?當用戶點擊開始時,執行你的PHP腳本。在此期間,你可以做其他事情。

+0

這不可靠。 ajax請求會等待腳本完成,這可能需要幾分鐘時間,並且一旦連接斷開(如果用戶離開頁面),php腳本可能會終止。 – 2012-08-16 17:05:59