Tôi đã cố gắng thực hiện một số tập lệnh để tải xuống tệp qua FTP từ máy chủ cục bộ của tôi Apache trong CentOS và tôi không thể làm cho nó hoạt động!Không thể kết nối với FTP với PHP ftp_connect từ localhost
Mã Tôi đang sử dụng là rất được sử dụng bởi bất kỳ yêu cầu ftp cơ bản:
<?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();
}
tôi đã cố gắng cùng một kịch bản trên máy chủ từ xa và nó làm việc! Tôi không chắc chắn nếu nó là bất kỳ cấu hình apache được thực hiện, hoặc một giới hạn PHP chính nó.
CẬP NHẬT:
Dưới đây là các bản ghi lỗi:
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
Tôi đã thử nghiệm tải về các tập tin với wget và nó tải –
tôi thấy log lỗi của bạn, vì vậy ftp_connect trả về FALSE trong trường hợp của bạn. – Yuriy
Cố gắng thay thế máy chủ lưu trữ/ip của bạn bằng mã với ftp.mozilla.org hoặc bất kỳ máy chủ FTP công khai nào khác và xem nó có mở hay không. Sau đó, bạn đang sử dụng 'ftp: //' ở phía trước IP máy chủ của bạn? Đừng nhớ nếu đó là cần thiết, hãy thử cả hai có và không có tiền tố đó. – Yuriy