[PHP-users 794] タイムアウト設定について
Kei Nishiyama
php-users@php.gr.jp
Sat, 21 Jul 2001 12:51:38 +0900
はじめまして。
西山と申します。
趣味と実益を兼ねたPHP作成をやっているのですが、
タイムアウトの設定が上手くいかず、悩んでおります。
やりたいこととしては、
・www.foo.comに対してソケット接続を張る
・2秒以内にネゴシエーション出来なかった場合、あきらめて
スクリプトを終了する
なのですが、サーバダウン等でwww.foo.comが落ちていた場合など
fsockopenのタイムアウト設定や
set_time_limitによる実行時間の制限をかけてもスクリプトが終了せず、
結果としてWebページが出力されないという現象が起きてしまいます。
テストしているのは以下のようなソースです。
<?
set_time_limit(2);
$file = fsockopen("www.foo.com", 80, &$errno, &$errstr, 2);
if (!$file) {
echo "Socket Error";
} else {
echo "Socket Open";
fclose($file);
}
?>
接続先のサーバに障害があるときはすばやくあきらめるという
仕組みを作りたいのですが、アドバイスを頂けませんでしょうか?
宜しくお願いいたします。
西山 圭 Nishiyama, Kei
E-mail: nishik@dream.com OR nishik@mac.com