我一直在尝试使一些脚本通过FTP从CentOS的本地主机Apache下载文件,我无法让它工作!无法连接到FTP与本地主机的PHP ftp_connect
我使用的代码是非常一按任何基本的FTP请求中使用:
<?php
$ip= FTP_IP_HERE;
$port='21';
$timeout='90';
$un='username';
$pw='password';
// Connect to ftp
$conn_id = ftp_connect($ip,$port,$timeout);
// Open a session to an external ftp site
$login_result = ftp_login ($conn_id, $un, $pw);
// Check open
if ((!$conn_id) || (!$login_result)) {
print "FTP connection failed!";
exit();
}
// turn on passive mode transfers
if (ftp_pasv($conn_id, true) == FALSE) {
print "Passive FTP connection failed!";
exit();
}
我试图在远程服务器上相同的脚本和它的工作! 我不确定它是否是要完成的任何apache配置,或者本身是PHP限制。
UPDATE:
以下是错误日志:
Warning: ftp_login() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 16
Warning: ftp_get() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 22
Falha ao enviar o arquivo test.pdf<br />Array
(
[type] => 2
[message] => ftp_get() expects parameter 1 to be resource, boolean given
[file] => /var/www/html/ftp/FTP.php
[line] => 22
)
Warning: ftp_close() expects parameter 1 to be resource, boolean given in /var/www/html/ftp/FTP.php on line 30
我测试下载使用wget的文件并下载 –
我看到你的错误日志,所以FTP_CONNECT返回你的情况FALSE。 – Yuriy
尝试用ftp.mozilla.org或任何其他公共ftp服务器替换您的服务器主机/ ip代码,并查看它是否打开。那你在服务器IP前面使用'ftp://'吗?不记得是否需要,可以尝试使用和不使用前缀。 – Yuriy