ID: 23004 Updated by: [EMAIL PROTECTED] Reported By: wanght at hotmail dot com -Status: Open +Status: Closed Bug Type: FTP related Operating System: Window 2000 PHP Version: 4.3.1 New Comment:
This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2003-04-02 12:03:08] wanght at hotmail dot com Sorry, Let me explain the problem further. Following is my php script and ftp log. You can see there is not QUIT command in ftp log. As you know, the ftp_quit is alais of ftp_close in PHP, but I found two C function in ftp.c. The C function ftp_quit send QUIT to ftp server, but ftp_close didn't. I think this is the problem. In the FTP protocol, a client should send QUIT before disconnect the connection. I think the PHP ftp function should support that. Thnaks. ===================== <?php $host = "192.168.120.76"; $port = 21; $user = "test"; $pass = "test"; $passive = FALSE; $folder_path = ""; $file_path = ""; $ftp_conn = @ftp_connect($host, $port); if ($ftp_conn === FALSE) { echo "Can't connect with server: " . $host . "\n"; exit(-1); } if (@ftp_login($ftp_conn, $user, $pass) === FALSE) { echo "User name or password is wrong \n"; exit(-2); } ftp_quit($ftp_conn); ?> ============= Wed Apr 02 11:55:08 2003 0 Incoming connection request on interface 192.168.120.176 Wed Apr 02 11:55:08 2003 0 Connection request accepted from 192.168.120.176 Wed Apr 02 11:55:09 2003 0 USER test Wed Apr 02 11:55:09 2003 0 331 User test Ok, password please Wed Apr 02 11:55:09 2003 0 PASS *********** Wed Apr 02 11:55:09 2003 0 230 Password Ok, User logged in Wed Apr 02 11:55:09 2003 0 The connection was closed by the remote socket. Wed Apr 02 11:55:09 2003 0 Connection terminated. ================================== ------------------------------------------------------------------------ [2003-04-02 11:12:28] [EMAIL PROTECTED] Not enough information why this is a problem. (if you know how PHP works, you'd know that the ftp_quit() is called in the resource destructor code) ------------------------------------------------------------------------ [2003-04-01 11:26:55] wanght at hotmail dot com I take look at source code of PHP 4.3.1, there are two functions ftp_close and ftp_quit in ftp.c, But the PHP funcions ftp_close and ftp_quit in php_ftp.c didn't invoke these real function. What happens? ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23004&edit=1