phpで重い処理をCGI モードでバックグラウンドで動かす
via
PHPで別PHPを呼び出す。 - PHP - 教えて!goo
某案件で、メールマガジンの配信プログラムを作ったときのメモ
1. action.php
<?php // 「> /dev/null &」 で、呼び出したPHPの終了を待たずに呼び出しもとに制御が戻ります。 // 引数は半角スペースで指定することにより複数指定できる exec("/action.sh ".$argv1." ".$argv2." > /dev/null &", $rec , $status); ?>
↓
2. action.sh
引数が個数分 ($1 $2)いる
/usr/local/bin/php-cgi-4.4.1 /action_php.cgi $1 $2
↓
3. action_php.cgi
<?php // 引数は$argvという予約変数に自動的に入っている $argv1 = $argv[1]; $argv2 = $argv[2]; ?>