ID: 22263 Updated by: [EMAIL PROTECTED] Reported By: caesar_iv4 at yahoo dot com Status: Open Bug Type: Sockets related Operating System: win 98 SE -PHP Version: 4.3.1 +PHP Version: 4.3.2-dev New Comment:
correct PHP version.. Previous Comments: ------------------------------------------------------------------------ [2003-02-17 23:51:11] caesar_iv4 at yahoo dot com I use php 4.3.2 latest cvs even php 5 and it stil occurs i am trying to write a small php-based httpdeamon and when i was testing it with IE6, open the connection and the page starts loading, but when i click on stop i get the usual crashed program box here's the script: <? function& sock() { global $SRV; if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) sock_err($sock,"socket_create()"); if (($ret = socket_bind ($sock, $SRV["IP"], $SRV["PORT"])) < 0) sock_err($sock,"socket_bind()"); if (($ret = socket_listen ($sock, $SRV["MAX_CL"])) < 0) sock_err($sock,"socket_listen()"); return $sock; } function send(&$sock,$msg,$echo=true) { global $CORE_DUMP; // socket_write($sock,$msg,strlen($msg)); fwrite($CORE_DUMP,$msg,strlen($msg)); if($echo) echo $msg; } function log_access($ip) { global $LOG_ACCESS; $str = date("r")." ".$ip."\n"; fwrite($LOG_ACCESS,$str,strlen($str)); } function sock_err(&$sock,$fn) { global $LOG_ERROR; $str = $fn." failed, reason: ".socket_strerror(socket_last_error($sock)); echo $str; fwrite($LOG_ERROR,$str,strlen($str)); } error_reporting (E_ALL); set_time_limit (0); ob_implicit_flush(); echo "07\n"; $sock = &sock(); echo "09\n"; do { echo "11\n"; if (($msgsock = socket_accept(@$sock)) < 0) sock_err(@$msgsock,"socket_accept()"); echo "14\n"; socket_getpeername(@$msgsock,$ip); echo "15\n"; log_access($ip); echo "16\n"; $str = ""; echo "18\n"; $i = 0; echo "20\n"; while ($msgsock) { echo "23\n"; if (!$msgsock) break; echo $msgsock; $buf = socket_read($msgsock, 2048, PHP_BINARY_READ); echo "25\n"; if (!$buf) { sock_err(@$msgsock,"socket_read()"); break; } echo "26\n"; echo "28\n"; } echo "38\n"; socket_close (@$msgsock); echo "40\n"; } while (@$sock); socket_close (@$sock); ?> the echoes were to pin-point the problem ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22263&edit=1