2016-05-14 7 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を起動する他の方法が見つかりませんでした。

誰かが私を助けてくれることを願っています。

あなたのマイケル。

+1

ウェブコードは、通常、データベースサーバを起動する必要はありません。すでに実行しているはずです... –

+0

stdoutとstderrの両方をリダイレクトしようとしましたか? 'exec( 'program.exe> NUL 2> NUL')' –

+0

@Alexander O'Mara:わかっています。それは単なる学校のためのプロジェクトです。私はサーバー上で実行されていません。しかし、私はプロセスを開始する必要があります... awons:私のコード例で見ることができるように、私はすでにtmp.txtにリダイレクトしようとしました - 成功しません。 (私はNULと単純なtxtファイルの違いはないと思う) –

答えて

0

バッチファイルを「Bat_to_exe converter」を使用して実行可能なウィンドウに変換し、exec()のパラメータとして「cmd/c」を削除するパスを与えます。

例外処理メソッドまたは "die"を使用して、関数がエラーを返すかどうかを確認します。

関連する問題