PHPでssh2を使う必要が出てきた。
方法としては、PECL::ssh2をインストールしておけばよいらしい。
依存ライブラリとして、libssh2が必要なので、yumにてlibssh2をインストールしておく。
libssh2-develはいらないかもしれない。
yum -y install libssh2 libssh2-devel
その後、peclコマンドでssh2拡張をインストールする。
pecl install ssh2
downloading ssh2-0.11.0.tgz ...
Starting to download ssh2-0.11.0.tgz (22,884 bytes)
........done: 22,884 bytes
5 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
1. libssh2 prefix? : /usr
1-1, 'all', 'abort', or Enter to continue: all # libssh2.soへのprefixが/usrではない場合、修正
libssh2 prefix? [/usr] : /usr/lib
1. libssh2 prefix? : /usr/lib
1-1, 'all', 'abort', or Enter to continue: # 何も入力せずにenterを押す
# インストールが始まる
...
# インストール完了通知
Build process completed successfully
Installing '/usr/lib/php/modules/ssh2.so'
install ok: channel://pear.php.net/ssh2-0.11.0
ssh2.soがインストールされたので、権限を変更する
chmod 755 /usr/lib/php/modules/ssh2.so
php.iniを修正してextensionを組み込む。自分の環境では、extensionの組み込みが外部ファイル化してあったので、そちらを修正する。gd.iniとかをコピーしてssh2.iniを作り、それを修正した。その後は、apacheの再起動を行う。
cd /etc/php.d
cp gd.ini ssh2.ini
vi ssh2.ini
# gdをssh2に変更
extension=gd.so
↓
extension=ssh2.so
# 編集終了
# apacheの再起動
service httpd restart
これで、phpinfo()を確認したところ、ssh2が組み込まれていたのでOK!!
コメント