В PHP я даже не могу заставить SFTP-соединение работать. Я попытался использовать собственную функцию SFTP (ssh_connect), и он не смог подключиться. Я также пытался использовать phpseclib, но он тоже не срабатывает. Ни одна из моих вышеупомянутых попыток не предоставила много информации о журнале.
Нативный код:
if (!function_exists('ssh2_connect')) { echo "dll not loaded properly"; //never see this, so I know it works return false; } $connection = ssh2_connect('sftp.example.com', 22); ssh2_auth_password($connection, 'username', 'password'); $sftp = ssh2_sftp($connection);
Код библиотеки phpseclib:
include('Net/SFTP.php'); $sftp = new Net_SFTP('sftp.example.com'); if (!$sftp->login('username', 'password')) { exit('Login Failed'); }
вinclude('Net/SFTP.php'); $sftp = new Net_SFTP('sftp.example.com'); if (!$sftp->login('username', 'password')) { exit('Login Failed'); }
Я также попытался отслеживать все транзакции через Fiddler, чтобы увидеть, если я хотя бы вижу, что происходит соединение, и я вижу ошибку в браузере (ниже), что из-за googling может означать, что соединение было сделано на сервере, но ответов нет.
[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 17139 bytes.
Почему я могу подключиться к URL с именем пользователя и паролем через FIleZilla, но не из php? Нужны ли мне некоторые другие DLL-файлы в папке PHP / ext (например, php_openssl.dll и т. Д.)?
Спасибо, Шон