ID: 23837 Updated by: [EMAIL PROTECTED] Reported By: dietrich dot ayala at foundstone dot com -Status: Feedback +Status: No Feedback Bug Type: Sockets related Operating System: windows 2000 PHP Version: 4.3.2RC4 Assigned To: wez New Comment:
No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2003-09-11 01:08:53] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip ------------------------------------------------------------------------ [2003-05-27 17:40:23] dietrich dot ayala at foundstone dot com Repro script is below. i tested w/ w2k+FastCGI and w2k+isapi, and could repro the behaviour w/ both. steps: 1. run the script 2. take host down and back up, or even just cycle the listening app on the specified port. either one will repro the bug. 3. run the script again. if you're using isapi or fastcgi, it'll attempt to reuse the connection, but won't reconnect, and will display the behaviour described. <?php $host = 'd-w2kserv'; $port = 80; // open connection if(!$fp = pfsockopen($host, $port, $errno, $error_str)){ die('error: '.$error_str.$phperrormsg); } else { // write data $requestMsg = "GET / HTTP/1.1\r\nHost: $host\r\n\r\n"; if([EMAIL PROTECTED]($fp, $requestMsg)) { die('error: '.$phperrormsg); } // read data do { // array of connections $read = array($fp); // use stream_select() for non-busy wait if (false === ($num_changed_streams = stream_select($read, $write = NULL, $except = NULL, 0))) { die('Stream_select returned error: '.$phperrormsg); // At least on one of the streams something interesting happened } elseif ($num_changed_streams > 0) { if( !$data = @fgets($fp, 8192) ){ die('couldnt get data from socket, or socket returned no data'); } print $data; // no more data if (feof($fp) || $data === false || strlen($data) == 0) { break; } } } while(true); } ?> ------------------------------------------------------------------------ [2003-05-27 17:16:27] [EMAIL PROTECTED] No example script here either. Can not reproduce. ------------------------------------------------------------------------ [2003-05-27 14:47:45] [EMAIL PROTECTED] Assigning to myself; it would be good if some other people could verify if this problem exists on other platforms, and if this is a critical issue. ------------------------------------------------------------------------ [2003-05-27 12:52:08] dietrich dot ayala at foundstone dot com If I make a persistent connection to a host, then cycle the host, subsequent requests to pfsockopen return a connection (no error), but any subsequent calls to fgets() (and any socket-accessing kin) using the pointer fail w/ bad connection errors. Previously, I reported this problem when the host *never* comes back up, and Wez fixed that. But it appears this also happens when the host is cycled as well. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23837&edit=1
