2

XAMPPを使用して、長時間実行される数十のPHPスクリプトを同時に実行したいと思います。各スクリプトは2時間以上実行され、セッションやCookieなどを使用しません。

最初のテスト実行では、ブラウザでこれらのスクリプトを10個開いてみましたが、実際に実行を開始したのは最初の6個だけでした(各スクリプトの開始時にすぐにファイルを開いてステータスを書き込むため、これを知っていますそこで更新されます。最初の6)を除いて、どのスクリプトからも何も書き込まれません。

各スクリプトの先頭に配置できるコード、変更できるPHP設定、または必要な数のPHPスクリプトを同時に実行できるようにする他の方法はありますか?


編集これを達成する方法は次のとおりです。

1)ここからPowerShell 2(またはWindowsバージョンと互換性のあるバージョン)をダウンロードします:http ://support.microsoft.com/kb/968929

2)それをインストールし、コンピュータを再起動します。

3)新しいファイル「example.ps1」を作成し、選択したディレクトリ(c:\ examples \ example.ps1など)に保存します。このコードをそのファイルに入れます:

start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\1.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\2.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\3.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\4.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\5.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\6.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\7.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\8.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\9.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\10.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles\11.php}

4)[スタート]-> [ファイル名を指定して実行]をクリックし、「powershell」と入力します(引用符は含みません)。

5)PowerShellが起動したら、次のように入力してEnterキーを押します。

Set-ExecutionPolicy RemoteSigned

次に、「y」を押して変更を設定します。

6)次のように入力します(必ずフルファイルパスを入力してください)。

c:\examples\example.ps1

7)仕事を見るには、次のように入力するだけです。

get-job

ジョブを停止するには、次のコマンドを使用します。

stop-job JobName
4

2 に答える 2

3

ブラウザは同時接続をブロックします。コマンドラインを使用すると、タイムアウトの問題も少なくなります。Plus出力は瞬時に行われるため、いつでもエコーできます。

于 2012-08-30T13:45:45.610 に答える
2

ブラウザを介してスクリプトを実行する必要がありますか?php-cliを使用して、このような長時間実行されるスクリプトをターミナルから直接実行する方が簡単ではありませんか?そうすれば、必要な数のプロセスを起動できます。

于 2012-08-30T13:44:08.343 に答える