ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルでの ssh2 拡張機能のインストールの詳細な説明
1. 10.1、10.2、11.2 という 3 つの異なるオペレーティング システムを搭載した 3 つのサーバーがあり、11.2 にはインストールする必要がなく、すでにいくつかの拡張機能が含まれていることがわかりました。インストールしていない場合は、yast を使用して簡単にインストールできます。
10.1サーバーでテスト済み。ssh2-0.11.0.tgzをインストールする前にlibsshをインストールする必要があるため、公式Webサイトからダウンロードしてください。 N 個以上のバージョンをダウンロードしました。動作しないでしょう。すべてのエラーは make 中に発生しました。
この状況は多面的である可能性があるため、理由を知りたくもありません。
サーバーを再度10.2に変更し、libssh2-0.18を試してみたところ、実際に成功しました。
さて、次は ssh2-0.11.0.tgz をコンパイルします (笑)、比較的スムーズに進みました。実際にうまくいきました。
ここで、操作プロセスを記録して、後で忘れずにこのドキュメントをもう一度読むことができるようにします。ふふ。
2 つのパッケージが必要です:
ssh2-0.11.0.tgz ダウンロードアドレス: http://pecl.php.net/package/ssh2
libssh2-0.18.tar.gz ダウンロードアドレス: http://sourceforge.net/projects/libssh2/files/
まず、libssh2-0.18.tar.gz をインストールします
簡単な手順:
tar zxvf libssh2-0.18.tar.gz
cd libssh2-0.18
./configure
作成&&インストール
しばらくお待ちください。
何も予期せぬことが起こらなければ、成功するはずです。
次に、ssh2-0.11.0.tgzをインストールします
tar zxvf ssh2-0.11.0.tgz
cd ssh2-0.11.0
phpize
./configure --with-ssh2
make
が完了すると、カレントディレクトリの modules ディレクトリに必要な ssh2.so ファイルが生成されます
Apache に認識させるには以下のように設定します。
これを .so ファイルの場所にコピーするだけです。ただし、so ファイルが保存される場所はバージョンによって若干異なることに注意してください。
私のパスはデフォルトのパスです:
/usr/lib/php5/extensions/
cp ssh2.so /usr/lib/php5/extensions/
もう 1 つは、設定ファイルを追加することです
ssh2.ini ファイルを /etc/php5/conf.d/ ディレクトリにコピーします
cp mysql.ini ssh2.ini
ssh2.ini を編集し、内容を次のように変更します:
拡張子=ssh2.so
それでは、Apache を再起動してください
apache2ctl -k 再起動
このコマンドを使用します php -i|grep ssh2
予想通り、関連情報が表示されます
/etc/php5/conf.d/ssh2.ini,
登録された PHP ストリーム => php、file、data、http、ftp、https、ftps、ssh2.shell、ssh2.exec、ssh2.tunnel、ssh2。 、ssh2.sftp、zip、compress.zlib
ssh2
libssh2 バージョン => 0.18
バナー => SSH-2.0-libssh2_0.18
PWD => /srv/www/vwokan/wokan2.0/ssh2- 0.11 .0
_SERVER["PWD"] => /srv/www/vwokan/wokan2.0/ssh2-0.11.0
はは、このメッセージは成功したことを意味します。
次のステップは、php を使用して ssh2 拡張コマンドを実行することです。
$connection = ssh2_connect("172.16.18.252",22);
if (ssh2_auth_password($connection,"root","123456")) {
echo "認証成功! ";
} else {
die(認証失敗…);
}
?>
予想どおり、「認証に成功しました」というメッセージが表示されます。
はは、思いがけず現れて調べてみました。次のプロンプトが表示されるたびに:
認証に失敗しました...
ユーザー名とパスワードはすべて正しいです。
最後に、ローカルの SSH 設定を確認します
vi /etc/ssh/sshd_config
で見つかりました:
パスワード認証番号
あはは、次のように変更されました:
パスワード認証はい
保存してsshを再起動
/etc/init.d/sshd 再起動
はは、実際には合格しました。