我有兩臺電腦。在第一臺計算機上,我用所有的Web代碼運行Apache。在第二臺計算機上,我有大量數據與檢索腳本一起存儲(腳本通常需要幾小時才能運行)。我本質上是創建一個Web UI來訪問這些數據,而不會有任何時間延遲。在php中運行bash腳本
所以我呼籲:
exec("bash initial.bash");
這是一個驅動程序的腳本是在我的Apache的文件夾。它在另一臺計算機上調用腳本。 電話: ssh otherMachine temp.bash&
此腳本調用第二臺計算機上的數據檢索腳本。
如果我在終端中調用initial.bash,一切運行順利併成功,但如果我在我的PHP文件中調用它,那麼我的所有命令都在initial.bash中運行,但ssh otherMachine temp.bash&
例外。我把&放在最後,所以temp.bash會在後臺運行,因爲它需要幾個小時才能完成。
我不確定爲什麼在Apache調用嵌套腳本時沒有運行。有沒有比使用exec或shell_exec來調用最終調用另一個腳本的腳本更好的選擇。我不直接在第二臺機器上調用腳本的原因是因爲程序運行的時間。在腳本完成之前,Shell_exec不會呈現php頁面。
+1所有偉大的建議。 – 2010-03-29 18:51:14