[PHP-users 21944]WEBサーバーがシングルで動いている現象について
aiko
vvv_aiko_vvv @ hotmail.com
2004年 6月 2日 (水) 08:08:42 JST
お世話になっております。
岸川です。
a.phpで下記の様なループ処理をさせます。
その間、他のブラウザからの要求を受け付けなくなってしまいます。
a.phpが終了すると、画面が表示されます。
Webサーバー(thttpdを使用)がシングルで動いている感じです。
この様な現象の回避方法として、Apacheの様なマルチで動くものに
Webサーバーを変えるしか方法はないのでしょうか。
※ a.phpのループはあくまで例ですが、
他プロセスとソケット通信を行っており、
結果をポーリングしているため、a.phpの様にファイル終了に時間がかかってしま
うことがあります。
どなたか何でも良いのでアドバイス頂けないでしょうか。
'./configure'
'--with-thttpd=../thttpd-2.21b'
'--enable-mbstring' '--enable-mbstr-enc-trans'
'--enable-mbregex' '--enable-track-vars' '--enable-trans-sid'
'--enable-sockets' '--enable-sigchild'
'--with-config-file-path=/usr/local/lib/php.ini'
'--enable-libgcc' '--enable-php-streams'
'--enable-exif' '--with-hyperwave' '--with-ncures'
'--with-tsrm-pthreads' '--with-zlib' '--enable-shmop'
'--enable-sysvsem' '--enable-sysvshm' '--enable-shared'
'--enable-static' '--enable-fast-install' '--without-gd' '--without-mysql'
PHP Version 4.3.4
//////以下ソース//////
//
// a.phpを表示し、
// 続いてb.php、c.phpを表示すると、a.phpの終了後に2画面が表示される。
//
<a.php>
====================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>テストループ</title>
</head>
<body>
<?php
$nStartTime = time() ;
do {
$nNowTime = time() ;
if ( $nNowTime - $nStartTime > 60 ) {
break ;
}
sleep( 10 ) ;
} while ( TRUE ) ;
?>
</body>
</html>
====================
<b.php>
====================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>テスト表示</title>
</head>
<body>
<?php
print "<font color='blue'><b>テストです</b></font>";
?>
</body>
</html>
====================
<c.html>
====================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>テスト表示</title>
</head>
<body>
<font color='blue'><b>テストです</b></font>
</body>
</html>
====================
_________________________________________________________________
メッセンジャーで総額1億円プレゼント! http://im.msn.co.jp/home.htm
PHP-users メーリングリストの案内