使用ftp_connect连接但无法登录PHP

我正在创建一个连接到FTP的应用程序(带有安全连接)。 这可能是一个愚蠢的问题,但我真的需要帮助。 我的查询是 - </ p>

我正在创建连接到受保护的FTP服务器的应用程序(FTP-SSL / FTP安全)。 我使用了两种方法</ p>


  1. ftp_connect()</ li>
  2. ftp_ssl_connect()</ li>
    </ ol>

    方法1 - ftp_connect()</ strong> </ p>

     &lt;?php 
    $ ftp_server =“ftp.xxx.xxx”;
    $ ftp_user_name =“xxx”;
    $ ftp_user_pass =“xxxxxx”;

    $ conn_id = ftp_connect($ ftp_server)或死(“无法连接到$ ftp_server”);
    ftp_login($ conn_id,$ ftp_user_name ,$ ftp_user_pass);
    ?&gt;
    </ code> </ pre>

    我的问题是,建立了连接,但是当我尝试登录时,它会抛出此错误。 当我删除 ftp_login()</ code>时,我没有收到任何错误。

    我知道这是因为ftps。 这就是我使用第二种方法的原因。</ p>


    警告:ftp_login():抱歉,此服务器不接受明文会话。</ p>
    </ blockquote >

    方法2 - ftp_ssl_connect()</ strong> </ p>

     &lt;?php 
    $ ftp_host ='ftp.xxx.xxx ';
    $ ftp_user ='xxxxxx';
    $ ftp_password ='xxxxxx';

    var_dump(function_exists('ftp_ssl_connect'));

    if(function_exists('ftp_ssl_connect'))
    {

    $ ftp_connection = @ftp_ssl_connect($ this-&gt; ftp_host);
    }

    if($ ftp_connection)
    {
    ftp_login($ ftp_connection,$ this-&gt; ftp_user,$ this-&gt; ftp_password);
    }
    ?&gt;

    </ code> </ pre>

    我使用这种方法 ftp_ssl_connect()</ code>连接ftp(与安全连接服务器)。 但声明是印刷bool(假)。 这意味着ftp_ssl_connect()无法使用。</ p>

    如何连接ftp(带安全连接)服务器? 我尝试在网址中将 ftps </ em>替换为 ftp </ em>。 它显示相同的错误。</ p>

    更新 - 1 </ strong>
    应用程序将托管在Linux服务器上。 我正在开发和测试Windows 7机器上的应用程序。</ p>
    </ div>

展开原文

原文

I am creating an application which connects to FTP(with secured connection). This Might be stupid question but I really need help. My query is-

I am creating application to connect to FTP server which is secured(FTP-SSL / FTP Secure). I have used two approaches

  1. ftp_connect()
  2. ftp_ssl_connect()

Approach 1 - ftp_connect()

<?php
        $ftp_server = "ftp.xxx.xxx";
        $ftp_user_name = "xxx";
        $ftp_user_pass = "xxxxxx";

        $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
        ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
?>

My problem is, connection is established but when I try to login it is throwing this error. When I remove ftp_login() I am not getting any error. I know this is because of ftps. That is why I used second approach.

Warning: ftp_login(): Sorry, cleartext sessions are not accepted on this server.

Approach 2 - ftp_ssl_connect()

<?php
        $ftp_host = 'ftp.xxx.xxx';
        $ftp_user = 'xxxxxx';
        $ftp_password = 'xxxxxx';

        var_dump(function_exists('ftp_ssl_connect'));

        if(function_exists('ftp_ssl_connect'))
        {
            $ftp_connection = @ftp_ssl_connect($this->ftp_host);
        }

        if($ftp_connection)
        {
            ftp_login($ftp_connection, $this->ftp_user, $this->ftp_password);
        }
    ?> 

I used this approach ftp_ssl_connect() to connect ftp (with secured connection server). But the statement is printing bool(False). This means ftp_ssl_connect() is not available to use.

What should I do to connect ftp (with secured connection) server?. I tried replacing ftps over ftp in URL. it is showing the same error.

Update - 1 application will be hosted at Linux server. I am developing and testing application on windows 7 machine.

douke6857
douke6857 这只是为了测试组合。即使我删除$this,也会出现同样的错误。
5 年多之前 回复
doumei8126
doumei8126 和$this->ftp_host==$ftp_host?
5 年多之前 回复
duandushang5148
duandushang5148 我没有指定端口号也没有更改设置听到21以外的端口号。
5 年多之前 回复
dounan9070
dounan9070 ftp_ssl_connect的默认使用端口是21.在您的情况下是否也是如此?否则使用可选的端口参数:ftp_ssl_connect($this->ftp_host,$this->port);另请注意,您设置$ftp_host='xxx';但是你的snippit还不清楚你是否可以通过$this->ftp_host调用它们。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐