SSH2拡張機能をインストールします。
1. libssh2のインストール
libssh2のパッケージをダウンロードhttp://libssh2.org、次のようなコマンド
wget https://libssh2.org/download/libssh2-1.8.0.tar.gz
tar vxzf libssh2-1.8.0.tar.gz
cd libssh2-1.8.0
./configure --prefix=/usr/local/libssh2
make && make install
私たちは、SSH2のインストールで使用されるように、libssh2のインストールディレクトリを覚えておいてください。
2. SSH2をインストールします。
以下からのphp-ssh2のパッケージをダウンロードhttp://pecl.php.net/package/ssh2
wget http://pecl.php.net/get/ssh2-1.1.2.tgz
tar vxzf ssh2-1.1.2.tgz
cd ssh2-1.1.2
phpize
./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2(libssh2的路径)
make && make install
3.設定ファイルphp.iniを変更します。
#查找php.ini位置
sudo find / -name 'php.ini'
php.iniファイルの編集、テーブルエントリ値以下の構成を変更し、PHPが再起動し
、 "拡張子=は/ usr / lib64に追加/ PHP /モジュール/ ssh2.soを" php.iniに
vi / vimの編集者、キーワードの検索
/キーワード、Enterキーを押します。;これは、現在の場所からの文書がダウンして、次のキーの位置を見つけるために押してnをキーワードを見つけることですか
?キーワードは、Enterキーを押します。これは、アップ上向きのキーワードを検索する文書検索キーリング位置、プレスnからです。
4.再起動PHP
systemctl start php-fpm.service
この時点で、PHPのためのSSH2拡張機能は、インストールが成功し、我々は次のコマンドを実行して検証できることを確認するために、完了しています。
php -i|grep ssh2
#结果如下:
Registered PHP Streams => php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version => 1.4.2
banner => SSH-2.0-libssh2_1.4.2
他の構成
PHPを再起動し、設定項目の値を変更するために/etc/php.iniファイルには、次の表を編集します。
php.iniの
名前値コメント
秒の最大実行時間max_execution_timeは1800各スクリプトを、
date.timezoneで「アジア/上海」タイムゾーン
session.gc_maxlifetime 10800回のセッション(秒)の最大ライフタイム
pdo_mysql.default_socketの/tmp/mysql.sock
$connection = ssh2_connect(HOST,PORT);
if(!ssh2_auth_password($connection,USER,PASSWORD)){
$this->error('服务器的账号或密码错误');
}
//执行的命令
$stream = ssh2_exec($connection, 'python '.TOP_PAY_PATH.');
stream_set_blocking( $stream, true );//阻塞模式
$output = '<pre>'.stream_get_contents($stream).'</pre>';
$this->assign('output',$output);
fclose($stream);