|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #23004 The ftp_close or ftp_quit didn't send QUIT to server
Submitted: 2003-04-01 11:26 UTC Modified: 2003-04-02 18:56 UTC
From: wanght at hotmail dot com Assigned:
Status: Closed Package: FTP related
PHP Version: 4.3.1 OS: Window 2000
Private report: No CVE-ID: None
 [2003-04-01 11:26 UTC] 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?


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-04-02 11:12 UTC]
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-02 12:03 UTC] 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.
$host = "";
$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";
if (@ftp_login($ftp_conn, $user, $pass) === FALSE)
	echo "User name  or password is wrong \n";
Wed Apr 02 11:55:08 2003  0  Incoming connection request on interface
Wed Apr 02 11:55:08 2003  0  Connection request accepted from
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 18:56 UTC]
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
In case this was a documentation problem, the fix will show up soon at

In case this was a website problem, the change will show
up on the site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.

PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Feb 26 18:01:27 2024 UTC