2016-05-14 150 views
-1

我有一個簡單的問題:PHP:如何在後臺運行一個批處理腳本的[Windows]

我怎樣才能一個窗口機器上運行的背景一個批處理腳本?我需要通過XAMPP與MySQL建立數據庫連接。爲此,我需要運行「mysql_start.bat」,問題是,下面的代碼停止對PHP的exec-command執行(我認爲它會等到腳本完成)。

exec("cmd /c C:\\xampp\\mysql_start.bat > tmp.txt 2>&1"); 

提示:重定向輸出是沒有必要的,我剛纔已經嘗試過了,也沒有工作。

我還沒有發現任何其他可能啓動MySQL。

希望有人能幫助我。

您的Michael。

+1

網頁代碼通常不應該啓動數據庫服務器,它應該已經在運行... –

+0

您是否嘗試重定向stdout和stderr? 'exec('program.exe> NUL 2> NUL')' –

+0

@Alexander O'Mara:我知道。這只是一個學校的項目。我沒有在服務器上運行。但是我必須開始這個過程,但是...... awons:正如你在我的代碼示例中看到的,我已經嘗試將它重定向到tmp.txt中 - 沒有成功。 (我不認爲NUL和一個簡單的txt文件是有區別的。) –

回答

0

使用「Bat_to_exe轉換器」將您的批處理文件隱藏到Windows可執行文件中,只需刪除「cmd/c」作爲exec()參數的路徑即可。

還使用異常處理方法或「死」來檢查函數是否返回任何錯誤。