#php #ftp #filezilla
#php #ftp #filezilla
Вопрос:
У меня очень странная проблема, которую я, похоже, не могу понять. Я приобрел веб-сервер GoDaddy, который позволяет мне подключаться удаленно, через FTP. Теперь, когда я использую FileZilla
для подключения, это позволяет мне и я могу просматривать свои файлы на досуге. Но я написал PHP
скрипт для подключения к серверу с той же информацией, и он мне тоже не позволяет. Это выдает мне ошибку, такую как Cannot connect to FTP Server
(видел в моем скрипте). Я попытался удалить порт и время ожидания, и все равно ничего. Однако я выяснил, что сбой происходит при первоначальном подключении (как указано). Я теряюсь в том, почему он не позволяет мне, какая FileZilla явно работает.
// connect and login to FTP server
$ftp_server = "IP";
//It does not get pass here, the ERROR happens right here
$ftp_conn = ftp_connect($ftp_server, "21","90") or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, "USER", "PASS");
$file = "test.txt";
// upload file
if (ftp_put($ftp_conn, "serverfile.txt", $file, FTP_ASCII))
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}
// close connection
ftp_close($ftp_conn);
Это то, что повторяется мне с помощью tryCatch
Warning: ftp_login() expects parameter 1 to be resource, boolean given in /home/content/85/9844385/html/Test/Upload/upload.php on line 7
Warning: ftp_put() expects parameter 1 to be resource, boolean given in /home/content/85/9844385/html/Test/Upload/upload.php on line 12
Error uploading test.txt.
Warning: ftp_close() expects parameter 1 to be resource, boolean given in /home/content/85/9844385/html/Test/Upload/upload.php on line 22
Комментарии:
1. Похоже, на вашем FTP-сервере есть какой-то брандмауэр, который не позволяет вашему PHP-серверу общаться с ним. Возможно ли распечатать строку ошибки, чтобы вы могли увидеть, в чем проблема?
2. Вы можете получить доступ к другому FTP-серверу с помощью своего скрипта или это просто ftp GoDaddy, к которому вы не можете подключиться?
3. Работает ли php под пользователем с правами ftp? попробуйте
psasthru('groups')
и проверьте — О, и, пожалуйста, не используйтеor die
4. @durbnpoisn это моя ошибка.
5. @EliasVanOotegem Как бы я это использовал? Похоже
$ftp_conn
, что это моя проблема, она не проходит мимо. Кроме того, что не так сor die
: (