Безопасное FTP-соединение с использованием PHP - PullRequest
3 голосов
/ 31 января 2010

У меня есть защищенный FTP-сервер с данными для входа и из PHP, я пытаюсь подключиться к этому защищенному FTP-серверу с помощью функции ftp_ssl_connect/ftp_connect и ftp_login и передаю все параметры в функцию должным образом, но я поражен, увидев что он не соединяется.

Если я пытаюсь подключиться к этому защищенному FTP-серверу из командной строки, используя ssh, я не могу это сделать, но когда я пытаюсь подключиться через php-код, он не подключается, и поэтому я не уверен, почему это происходит

И каковы другие способы подключения к защищенному FTP-серверу с использованием PHP?

РЕДАКТИРОВАТЬ : Я пытался использовать ssh2_sftp, но все равно не смог подключиться к защищенному FTP-серверу.

РЕДАКТИРОВАТЬ 2 : Существуют ли другие способы сделать SFTP с PHP, пожалуйста, сообщите.

Обновление : добавлен код, который использовал ssh2_sftp для подключения к защищенному FTP-серверу, но он не работал, и программа перестала работать с сообщением Cannot connect to Server

<?php
$connection = ssh2_connect('www.server.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection) or die ("Cannot connect to server");

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

Ответы [ 3 ]

1 голос
/ 31 января 2010

Как сказал mdb, вам нужно использовать расширение ssh2 в PHP. Если вы используете Linux, это довольно просто: sudo pecl install ssh2. Если вы работаете в OS X, вам нужно либо выполнить svn checkout, либо следовать инструкциям здесь:

1 голос
/ 04 февраля 2011

У меня был довольно небольшой успех с phpseclib, чистой PHP-реализацией SFTP . Не берите в голову тот факт, что расширение PECL сложно установить, но оно также ненадежно и не очень портативно.

1 голос
/ 31 января 2010

FTP / S (FTP через SSL) - это протокол, совершенно отличный от SFTP (FTP через SSH), и вы не можете использовать библиотеку SSL для подключения к серверу SFTP (или наоборот).

Я не программист PHP, но, похоже, некоторые опции для подключения к SSH-серверу изначально доступны для вашей платформы .

...