【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0035電動ナナシ
01/10/23 03:18ID:We7XcUx8まあ要するにスクリプトを非同期で実行したいってことかな。
これでどうかな。async_caller.php から async_called.php を呼ぶコード。
async_caller.php が先に終了するが、called は caller が終了してもバック
グラウンドで実行される。caller に表示されるタイムスタンプが called が
test.dat に記録するタイムスタンプより前であることから確認できるだろう。
Windows2000 + Apache 1.3.20 + PHP 4.0.6 で確認。
async_caller.php
<?php
$fp = fsockopen ("localhost", 80, $errno, $errstr, 5);
if (!$fp) {
echo "Error: $errstr ($errno)<br>\n";
} else {
socket_set_blocking($fp, false);
fputs ($fp, "GET /hoge/async_called.php HTTP/1.0\r\n\r\n");
fclose ($fp);
echo "Current time: " . time() . "<br>\r";
}
?>
async_called.php
<?php
ignore_user_abort();
sleep(10);
$fp = fopen("test.dat", "w");
fputs($fp, time());
fclose($fp);
?>
■ このスレッドは過去ログ倉庫に格納されています