purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

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];
?>

via
PHP: $argv - Manual