php - ftp_get 适用于本地主机,但不适用于生产服务器

标签 php ftp

我正在使用 ftp_get 从另一个 ftp 服务器获取文件。

我的代码在我的本地 WAMP 服务器上完美运行,但是当我将它应用于我的实际网络托管时,连接失败。

$conn = ftp_connect('ftp.server.com') or die('Could not connect');
ftp_login($conn,'myusername','mypassword');
$local_file = 'new/two.txt';
$remote_file = 'games/minecraft/craftbukkit/plugins/VisitCounter/config.yml';
$get = ftp_get($conn,$local_file,$remote_file,FTP_ASCII);

if ($get){

    echo 'Connection Successful';
} else{

    echo 'Connection failure';
}

exec($get);
ftp_close($conn);

我认为必须在我的 Web 服务器上禁用建立 ftp 连接所需的某些内容。

你们中的任何人都可以提供帮助吗?

谢谢,

贾里德

最佳答案

您的服务器不是处于被动模式,您只需要使用 php 函数打开服务器的被动模式:-

$conn_id = ftp_connect($ftp_server);   

// login with username and password

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

// turn passive mode on

$ps = ftp_pasv($conn_id, true);

希望它会起作用。

关于php - ftp_get 适用于本地主机,但不适用于生产服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663743/

相关文章:

PHP $_POST 不起作用

php - 在 Ubuntu 上安装 Laravel 的挫败感

php - 发送内容类型为 : multipart/alternative 的 PHP 邮件

java - apache commons net - completependingcommand 返回 false

C# FTP 与 WebClient 错误 : The remote server returned an error: (534) 534 Policy requires SSL

javascript - cakePHP 和 Google AdSense

php - 登录后 session 未保存

C# - 通过 HTTP 代理将文件上传到 FTP

python - 在 Python ftplib 中列出名称中包含 UTF-8 字符的文件

PHP ftp_put 返回 "Unable to build data connection: Connection refused"