PHP は一度に 1 つのことを行うため、同様のタスク (ping) のために、引数を使用して複数の PHP ジョブを呼び出すバッチ スクリプトを作成しました。
したがって、ループはバッチ ファイルにあります。これにより、ジョブが分散されるため、負荷が複数の CPU に分散されます。行ごとに 10 個の項目がある (一度に 10 個のプロセスを実行する) CVS ファイルからスキャンするためのバッチ読み取り情報。
Windowsサーバーで実行されていますが、同じことがどのサーバーにも適用できます。
例として、私のバッチファイルの内容を次に示します。
@Echo Off For /F "usebackq tokens=1-10 delims=," %%a in ("D:\php_run\all_locations_10.cvs") Do (
echo Scanning: %%a
start "Scanning %%a" "C :\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%%a"
echo Scanning: %%b start "Scanning %%b" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%%b"
echo Scanning: %%c
start "Scanning %% c" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%%c"
echo Scanning: %%d
start "Scanning %%d" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%%d"
echo Scanning: %%e
start "Scanning %%e" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" " D:\php_run\wkstn_scan.php" "%%e"
echo Scanning: %%f
start "Scanning %%f" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%% f"
echo Scanning: %%g
start "Scanning %%g" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" " %%g"
echo Scanning: %%h
start "Scanning %%h" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php " "%%h"
echo Scanning: %%i
start "Scanning %%i" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan .php" "%%i"
エコー スキャン: %%j
start /WAIT "スキャン %%j" "C:\Program Files (x86)\PHP\v5.3\php.exe" "-f" "D:\php_run\wkstn_scan.php" "%%j"
)