【问题标题】:Error with connecting ftp through php通过php连接ftp出错
【发布时间】:2010-06-14 23:32:11
【问题描述】:

我正在尝试使用 php 脚本连接到我的服务器以上传一些文件...

但它没有连接...

我不知道是什么错误...

我确定ftp是启用的,我通过php_info()检查过

可能是什么错误...

<?php
error_reporting(E_ALL); 
$ftp_server = "server.com";  //address of ftp server (leave out ftp://)
$ftp_user_name = "Username"; // Username
$ftp_user_pass = "Password";   // Password

$conn_id = ftp_connect($ftp_server);        // set up basic connection

$login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

if ($login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass)) {
    echo "Connected as ,$ftp_user_name,$ftp_user_pass \n";
} else {
    echo "Couldn't connect \n";
}
.....
.....
....
....
ftp_close($conn_id); // close the FTP stream
?>

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    也许您必须通过以下方式打开被动模式:

    ftp_pasv($conn_id, true);
    

    直接在你的ftp_login之后

    PS:为什么要双重登录?写

    $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
    
    if ($login_result) {
    

    而不是

    $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
    
    if ($login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass)) {
    

    【讨论】:

    • 我试过了,仍然显示“无法连接”的错误..我删除了额外的连接 stmt
    【解决方案2】:

    这对我来说看起来不对:

    $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
    
    if ($login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass)) {
    

    你应该只需要:

    $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
    
    if ($login_result) {
    

    否则它会尝试登录两次,这可能是问题。

    还可以尝试将or die 添加到ftp_conect 以查看它是否甚至可以连接到服务器。

    $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 
    

    【讨论】:

      【解决方案3】:
      1. 使用常规 FTP 客户端检查您尝试连接的服务器是否实际接受来自运行此脚本的任何位置的连接。您的代码可能是正确的,但 FTP 服务器不接受来自您服务器的连接,或者有防火墙阻止。
      2. 大多数 PHP 函数会在内部记录错误信息,您可以使用 error_get_last() 和/或 $php_errormsg 检索这些信息。一些关于登录调用失败原因的诊断信息可能存储在其中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-22
        • 2017-12-08
        • 2018-07-10
        • 1970-01-01
        • 2016-09-21
        • 1970-01-01
        • 2016-01-04
        相关资源
        最近更新 更多