php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46531 ftp_put returns error on Accepted data connection
Submitted: 2008-11-10 06:20 UTC Modified: 2011-11-01 21:08 UTC
Votes:3
Avg. Score:4.3 ± 0.9
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: jmichae3 at yahoo dot com Assigned: rasmus (profile)
Status: Closed Package: FTP related
PHP Version: 5.2.6 OS: All
Private report: No CVE-ID: None
 [2008-11-10 06:20 UTC] jmichae3 at yahoo dot com
Description:
------------
PHP Warning:  ftp_put(): Accepted data connection in C:\www\jimm\ftp6.php on line 122

is this really an error state for ftp_put?  I would think it would be a success!  PHP is returning an error on this.
I think this is a bug.



Reproduce code:
---------------
if (ftp_put($conn_id, basename($dest_file), $src_file, FTP_BINARY)) {
 echo "success\n";
} else {
 echo "error\n";
}

Expected result:
----------------
success

Actual result:
--------------
the server I am working with is having problems.  lately it is really slow, and I get about 6 successful files uploaded, and the rest (about 450+ files) are 
PHP Warning:  ftp_put(): Accepted data connection in C:\www\jimm\ftp6.php on line 122
error

also, subsequent attempts at a ftp_mkdir also fail.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-11-10 11:24 UTC] jani@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/


 [2008-11-11 06:49 UTC] jmichae3 at yahoo dot com
I will not be able to reproduce this bug until something on the network goes nuts again.  

in my case, it was my cable modem configuration combined with an ISP network upgrade.  after persistently trying to get an internet connection again (and many calls to tech support), I did.  

All is well now with my connection so I can't test the Accepted data connection error, but I did test mkdir and it appears to be working.

//ftp mkdir test
function mk($conn_id) {
    echo "chdir\n";
    if (!ftp_chdir($conn_id, "/public_html/")) {
        echo "chdir failed\n";
        return;
    }
    echo "mkdir test\n";
    if (!ftp_mkdir($conn_id, "/public_html/test")) {
        echo "mkdir failed\n";
        return;
    }
    echo "chdir test\n";
    if (!ftp_chdir($conn_id, "/public_html/test")) {
        echo "chdir failed\n";
        return;
    }
}
// set up basic connection
$conn_id = ftp_connect($host);
// login with username and password
$login_result = ftp_login($conn_id, $uid, $pwd);
// check connection
if ((!$conn_id) || (!$login_result)) {
    echo "FTP connection has failed!\n";
    echo "Attempted to connect to $host for user $uid\n";
    exit;
} else {
    echo "Connected to $host, for user $uid\n";
}
ftp_pasv($conn_id, true);
mk($conn_id);
// close the FTP stream
ftp_close($conn_id);
 [2008-11-18 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2009-02-01 10:03 UTC] info at vuk dot bg dot it
Environment
------------
PHP Version 5.2.4-2ubuntu5.3
Apache 2.0

Application: zip files http upload, decompression on webserver, ftp directory creation and files ftp transfer to remote ftp server;
Situation: a zip file with 2 directories within, each containig one file;

Reproduce Code
--------------
if(!ftp_put($this->conn_id,$target,$tmp_file_name,$ftp_mode)){
....//set debug information
}

$ftp_mode is 2

Actual Result
-------------
The two files have been transfered correctly but the second operation gave this error:Warning: ftp_put() [function.ftp-put]: Accepted data connection
 [2010-07-09 00:28 UTC] didou@php.net
-Status: No Feedback +Status: Re-Opened -Operating System: XP Pro SP3 +Operating System: All
 [2010-07-09 00:28 UTC] didou@php.net
This bug is still encountered today and there's definitely a problem with ext/ftp 
on this point. 

Using this class for example works completely fine : 
http://www.spencernetwork.org/ftp/ftp-class.txt

I suspect that when a certain amount of transfered data is reached, over one or 
more STOR commands, the upload socket goes wrong.
 [2011-11-01 17:52 UTC] sales at 2k3servers dot com
This is caused by the bug I posted about yesterday:
https://bugs.php.net/bug.php?id=60183

(has been fixed in SVN today)
 [2011-11-01 21:08 UTC] rasmus@php.net
This bug has been fixed in SVN.

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/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.


 [2011-11-01 21:08 UTC] rasmus@php.net
-Status: Re-Opened +Status: Closed -Assigned To: +Assigned To: rasmus
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 11:01:30 2024 UTC