У меня есть безопасный FTP-сервер с регистрационными данными и с PHP, я пытаюсь подключиться к этому безопасному FTP-серверу с помощью ftp_ssl_connect/ftp_connect
и ftp_login
функции и передать все параметры должным образом функции, но я поражен, увидев, что он не подключается ,
Если я попытаюсь подключиться к этому безопасному FTP-серверу из командной строки, используя ssh, чем это могу сделать, но когда я пытаюсь подключиться через php-код, он не подключается, и поэтому я не уверен, почему это происходит?
Каковы другие способы подключения к Secure FTP Server с помощью PHP?
EDIT : Я попытался использовать ssh2_sftp
но все же я не смог подключиться к защищенному FTP-серверу.
EDIT 2 : Есть ли другие способы сделать SFTP с PHP, пожалуйста, сообщите.
Обновление : добавлен код, который использовал ssh2_sftp для подключения к защищенному FTP-серверу, но он не работал и программа выдохлась с сообщением. Cannot connect to Server
удается 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'); ?>
FTP / S (FTP через SSL) – это совершенно другой протокол, чем SFTP (FTP через SSH), и вы не можете использовать библиотеку SSL для подключения к SFTP-серверу (или наоборот).
Я не программист на PHP, но, похоже, некоторые опции для подключения к SSH-серверу доступны для вашей платформы .
Как и mdb, вам нужно использовать расширение ssh2 в PHP. Если вы используете Linux, это довольно просто, как sudo pecl install ssh2. Если вы находитесь в OS X, вам нужно либо выполнить svn checkout, либо выполнить следующие инструкции: http://thirdpartycode.com/2010/01/installing-the-php-ssh2-extension-in-snow-leopard- 10-6 /
У меня был довольно большой успех с phpseclib, чистой реализацией PHP SFTP . Не обращайте внимания на то, что расширение PECL сложно установить, но оно также ненадежное и не очень портативное.