これが私が何か間違ったことをしているのか、サーバーがphpseclibをサポートしていないのか、それとも何なのかはわかりませんが、安全なFTP接続のみを受け入れ、特定のIPアドレスからのみ受け入れるFTPサーバーに接続しようとしています. SSH経由でVPSにリモート接続し、コマンドラインからFTPサーバーに手動で接続したため、FTPサーバーがVPSサーバーからの接続を受け入れることがわかりました。
ただし、phpseclib で次のことを試みると、常に終了ポイントに到達します。
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include 'Net/SFTP.php';
$sftp = new NET_SFTP('***');
if(!$sftp->login('***', '***')) {
$sftp->getSFTPErrors();
exit('Login Failed'); // <-- Code always gets to this point
}
echo $sftp->pwd();
この問題のデバッグを開始する方法さえわかりません。私は彼らのフォーラムでも質問をして、助けを得ようとしました. ロギングを有効にして、出口のすぐ上にdefine('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
出力しようとしましたが、何も出力されません。echo $sftp->getSFTPLog();
私が持っているページではLogin Failed
、 からエラーが発生していません$sftp->getSFTPErrors();
。
PHP で安全な FTP 接続を使用するのはまったく初めてで、何が間違っているのかわかりません。誰かが問題のデバッグを手伝ってくれますか?