SSH2拡張リモートログインコマンドを実行し、複数のコマンドを実行します

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);

おすすめ

転載: blog.csdn.net/qq_41049126/article/details/90476482