ID: 16114 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: Sockets related Operating System: Windows 2000 AS -PHP Version: 4.1.1 +PHP Version: 4.1.1-4.3/CVS New Comment:
I've just committed a little patch that might fix this problem; PHP was calling shutdown(2) prior to closing the socket, and this may have been causing the data-loss. If you can compile PHP yourself, comment out the shutdown line in main/network.c. Otherwise, you need to wait for the next snapshot to be built (could be 3 hours away). Please let me know how you get on. Previous Comments: ------------------------------------------------------------------------ [2002-10-13 15:08:38] [EMAIL PROTECTED] The lastest snapshot(Oct 13, 2002; php4-win32-latest.zip) works almost fine. This code: $socket = @fsockopen( 'localhost', 80, $err1, $err2 ); if (!$socket) die('socket not open'); $result = fputs( $socket, $request ); #$request holds a well formed MIME request for posting a file. fflush( $socket ); //echo "<pre>>>\r\n".str_replace('</pre>', '</pre>', $request)."<<\r\n</pre>"; fclose( $socket ); This works if the file being posted is small(can't say how much). The point is that if I uncomment the echo line before fclose(), it sends all the data(up to 10.5M=11,076,608 bytes I sent), but without the echo line, it seems that fclose() executes in such a way that chops the socket's output stream and the Web Server does not executes the receive.php script. The echo line may be replace by sleep(8) and still working. Summary: Give it time before fclose() a works; otherwise, unstable. Manu. ------------------------------------------------------------------------ [2002-09-26 10:38:03] [EMAIL PROTECTED] What's the status on this? Are you sure this is an issue with fputs and not instead an issue with file upload to a PHP script? What are you connecting to? If you are testing again, please try the latest snapshot; more changes have been made. http://snaps.php.net/win32/ ------------------------------------------------------------------------ [2002-07-21 12:42:05] [EMAIL PROTECTED] I downloaded the file php4-win32-200207182200.zip and made a test uploading a 3.2MB file. It didn't work. With smallers files(a test with a 13b one) works. I'll do a test trying to establish the failure boundaries. Manu. ------------------------------------------------------------------------ [2002-07-18 21:49:39] [EMAIL PROTECTED] I will do. In this moment I've been facing troubles with my Internet connection, and I cannot download the snapshots. Manu. ------------------------------------------------------------------------ [2002-07-10 12:29:00] [EMAIL PROTECTED] Could you try this on 4.2.1, and the latest snapshot on http://snaps.php.net/win32/ ? The internal streams subsystem has been implemented in the snapshots, which is a complete rewrite. Thanks, -Jason ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/16114 -- Edit this bug report at http://bugs.php.net/?id=16114&edit=1