PHP';s cURL在FTP上传时给出错误425

PHP';s cURL在FTP上传时给出错误425,php,curl,Php,Curl,尝试使用cURL通过FTP上传文件,但无法按预期工作 服务器: Apache 2.2.25 PHP 5.3.27 以下工作: $url = 'ftp.someserver.com'; $file = '/path/to/file.xml'; $filename = basename($file); $conn_id = ftp_connect($url); $login_result = ftp_login($conn_id, $auth['use

尝试使用cURL通过FTP上传文件,但无法按预期工作

服务器:

  • Apache 2.2.25
  • PHP 5.3.27
以下工作:

    $url = 'ftp.someserver.com';
    $file = '/path/to/file.xml';
    $filename = basename($file);

    $conn_id = ftp_connect($url);

    $login_result = ftp_login($conn_id, $auth['user'], $auth['pass']);

    if (ftp_put($conn_id, "/remotedir/$filename", $file, FTP_ASCII)) {
        $success = true;
    } else {
        $success = false;
    }

    ftp_close($conn_id);
使用cURL尝试此操作,连接超时,出现FTP错误425,远程服务器上留下一个空白文件:

    $url = 'FTP://ftp.someserver.com/remotedir/';
    $file = '/path/to/file.xml';
    $filename = basename($file);
    $fp = fopen($file, 'r');

    $fstat = fstat($fp);

    curl_setopt($ch, CURLOPT_URL, $url . $filename);
    curl_setopt($ch, CURLOPT_USERPWD, rawurlencode($auth['user']) . ':' . rawurlencode($auth['pass']));
    curl_setopt($ch, CURLOPT_UPLOAD, true);
    curl_setopt($ch, CURLOPT_INFILE, $fp);
    curl_setopt($ch, CURLOPT_INFILESIZE, $fstat['size']);

    $result = curl_exec($ch);

    fclose($fp);
我还尝试了启用选项
CURLOPT\u FTP\u USE\u EPRT
CURLOPT\u FTP\u USE\u EPSV
但结果相同


我在这里遗漏了什么来让cURL发挥作用?

@joschua011已经看到了那篇文章。我们的代码在功能上是相同的。不过我还是有错误。