ID: 25239 Updated by: [EMAIL PROTECTED] Reported By: mhumphrey at designvision dot com -Status: Open +Status: Feedback Bug Type: FTP related Operating System: Win32 PHP Version: 4.3.2 New Comment:
#1) Could you try the same transfer using the ftp extension? (i.e.: ftp_connect(), ftp_login(), etc...) #2) Is there a public Serv-U FTP server available to test against which you can point me towards? (The only ones I've ever come across were installed by script kiddies on unprotected windows boxes -- Not that I'm blaming the software mind you) Previous Comments: ------------------------------------------------------------------------ [2003-08-25 13:44:07] mhumphrey at designvision dot com Description: ------------ FTP functions won't retrieve more than ~8k from Serv-U FTP server ver 4.1 ( www.rhinosoft.com ). Anything over that gets truncated and a QUIT appears in the server log in mid-transfer. I'm using PHP 4.3.2 on Win32 with Apache 2.0.46 I don't know if this is PHP or Serv-U that's off spec here...all i know is they don't seem to like each other. Reproduce code: --------------- Just use any FTP function and try to pull a >8k text file down from a Serv-U server. Seems to effect every FTP capable function i've tried: fread(), readfile(), file_get_contents(), etc... Expected result: ---------------- A string of the same size as the file on the FTP server. Actual result: -------------- Your returned data will be truncated at around the 8k point. Here's what Serv-U's log has to say, notice the QUIT that seems to come up in mid-transfer, possibly a clue?: [2] Mon 25Aug03 13:31:01 - (000012) RETR /entertainment.xml [3] Mon 25Aug03 13:31:01 - (000012) Sending file c:\apache2\htdocs\momo\entertainment.xml [7] Mon 25Aug03 13:31:01 - Sock ID=32 accept(504,0x010F9F74,0x010F9F9C) --> 464 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 ioctlsocket(464,FIONBIO,0x010F9F88) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 WSAAsyncSelect(464,65580,1024,FD_READ FD_WRITE FD_CLOSE) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=31 WSAAsyncSelect(504,65580,0,<<NONE>>) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=31 setsockopt(504,SOL_SOCKET,SO_LINGER,0x010F9F30,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=31 shutdown(504,0) --> -1 (WSAENOTCONN) [7] Mon 25Aug03 13:31:01 - Sock ID=31 shutdown(504,1) --> -1 (WSAENOTCONN) [7] Mon 25Aug03 13:31:01 - Sock ID=31 closesocket(504) --> 0 (OK) [6] Mon 25Aug03 13:31:01 - (000012) 150 Opening BINARY mode data connection for entertainment.xml (21289 bytes). [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,SOL_SOCKET,SO_OOBINLINE,0x010FA860,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,SOL_SOCKET,SO_KEEPALIVE,0x010FA850,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,IPPROTO_TCP,TCP_NODELAY,0x010FA840,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,SOL_SOCKET,SO_SNDBUF,0x010FA834,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,SOL_SOCKET,SO_RCVBUF,0x010FA824,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 RB_READ Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=30 recv(440,0x016CDC78,2048,0) --> -1 (WSAEWOULDBLOCK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 WSAGetLastError() --> WSAEWOULDBLOCK [7] Mon 25Aug03 13:31:01 - Sock ID=32 FD_WRITE Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=32 send(464,0x016A0209,4096,0) --> 4096 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 send(464,0x016A1209,4096,0) --> 4096 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 send(464,0x016A2209,4096,0) --> -1 (WSAEWOULDBLOCK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 WSAGetLastError() --> WSAEWOULDBLOCK [7] Mon 25Aug03 13:31:01 - Sock ID=30 RB_WRITE Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=30 send(440,0x016C93C4,78,0) --> 78 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 RB_WRITE Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=32 send(464,0x016A2209,4096,0) --> -1 (WSAEWOULDBLOCK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 WSAGetLastError() --> WSAEWOULDBLOCK [7] Mon 25Aug03 13:31:01 - Sock ID=30 FD_READ Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=30 recv(440,0x016CDC78,2048,0) --> 6 (OK) [2] Mon 25Aug03 13:31:01 - (000012) QUIT [6] Mon 25Aug03 13:31:01 - (000012) 221 Goodbye! [7] Mon 25Aug03 13:31:01 - Sock ID=32 WSAAsyncSelect(464,65580,0,<<NONE>>) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 setsockopt(464,SOL_SOCKET,SO_LINGER,0x010FB378,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 shutdown(464,0) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 shutdown(464,1) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=32 closesocket(464) --> 0 (OK) [3] Mon 25Aug03 13:31:01 - (000012) Error sending file c:\apache2\htdocs\momo\entertainment.xml, aborting (107 Kb/sec - 8192 bytes, reason unknown) [6] Mon 25Aug03 13:31:01 - (000012) 426 Data connection closed, file transfer entertainment.xml aborted. [7] Mon 25Aug03 13:31:01 - Sock ID=30 RB_READ Stat=OK [7] Mon 25Aug03 13:31:01 - Sock ID=30 recv(440,0x016CDC78,2048,0) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 RB_WRITE Stat=OK [5] Mon 25Aug03 13:31:01 - (000012) Closing connection for user MOMO (00:00:02 connected) [7] Mon 25Aug03 13:31:01 - Sock ID=30 WSAAsyncSelect(440,65580,0,<<NONE>>) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 setsockopt(440,SOL_SOCKET,SO_LINGER,0x010FEA1C,4) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 shutdown(440,0) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 shutdown(440,1) --> 0 (OK) [7] Mon 25Aug03 13:31:01 - Sock ID=30 closesocket(440) --> 0 (OK) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25239&edit=1
