Heim  >  Artikel  >  Backend-Entwicklung  >  PHP stellt für Serverbefehlsoperationen eine Verbindung zum Server her

PHP stellt für Serverbefehlsoperationen eine Verbindung zum Server her

angryTom
angryTomOriginal
2019-10-31 18:02:394936Durchsuche

PHP stellt für Serverbefehlsoperationen eine Verbindung zum Server her

PHP-SSH2-Erweiterung installieren

### Die Ubuntu-Installation des PHP-Linkservers erfordert die PHP-Erweiterung:

sudo apt-get install libssh2-1 php-ssh2

In Windows-Umgebung installieren

HerunterladenPHP-Erweiterung ssh2Download-Adresse http://windows.php.net/downloads/pecl/releases/ssh2/ 0.12/

Laden Sie entsprechend Ihrer PHP-Version herunter. Ich verwende WAMPSERVER2.5 (64bit) und die PHP-Version ist 5.5.12, was threadsicher ist.
Der Download ist also php_ssh2-0.12-. 5.5 -ts-vc11-x64.zip

1. Nach der Dekomprimierung gibt es drei Dateien: libssh2.dll, php_ssh.dll, php_ssh2.pdb.

2. Platzieren Sie php_ssh.dll und php_ssh2.pdb in Ihrem PHP-Erweiterungsverzeichnis php/ext/.

3. Kopieren Sie libssh2.dll nach c:/windows/system32 und c:/windows/syswow64

4. Fügen Sie extension=php_ssh2.dll zu php.ini hinzu

5. Starten Sie Apache neu und Sie können PHP verwenden, um SSH-Verbindungsvorgänge durchzuführen.

6. Überprüfen Sie phpinfo(), um zu sehen, ob die Erweiterung php_ssh2 erfolgreich geladen wurde.

In einer Linux-Umgebung installieren

Abhängige Bibliotheken für die PHP-SSH2-Erweiterung erforderlich

openssl: Sammlung von Verschlüsselungsalgorithmen, C-Sprachimplementierung

libssh2: SSH2-Protokollbibliothek, C-Sprachimplementierung

PECL/ssh2: PHP-Erweiterung von libssh2, die es PHP-Programmen ermöglicht, Funktionen in libssh2 aufzurufen

Abhängigkeiten: PECL/ssh2 – > –> openssl

Installieren Sie die erforderlichen Erweiterungspakete

Installieren Sie libssh2

wget  http://www.libssh2.org/download/libssh2-1.4.2.tar.gz  
tar zxf libssh2-1.4.2.tar.gz  
cd libssh2-1.4.2  
./configure && make && make install

Installieren Sie PECL/ssh2

wget  http://pecl.php.net/get/ssh2-0.11.3.tgz  
cd ssh2-0.11.3  
phpize   (如果报错命令没有找到,apt-get install php5-dev)  
./configure —with-ssh2 && make && make install

Ändern Sie die PHP-Konfiguration Informationen

cd  /etc/php5/cgi  
vim  php.ini

Element hinzufügen: extension=/usr/lib/php5/20090626/ssh2.so
ssh2.so ist das Modul, das beim Kompilieren von ssh2 erhalten wird. Das Obige ist der Speicherort des Moduls .

cd  /etc/php5/cli  
vim  php.ini

Hinzugefügtes Element: extension=/usr/lib/php5/20090626/ssh2.so
ssh2.so ist das Modul, das beim Kompilieren von ssh2 erhalten wird. Oben ist der Speicherort des Moduls.

Webserver neu starten

/etc/init.d/lighttpd restart

Überprüfen Sie, ob ssh2 geladen ist

[root@localhost ~]php -m | grep s

PHP-Code-Nutzung

public function actionTestServer()
{
    //登陆linux的ssh2用户名
    $ssh_user='root';
    //登陆linux的密码
    $ssh_pwd='';
    //默认端口号22
    $ssh_port='22';
    //服务器IP地址
    $ssh_host='120.77.62.13';
    //先测试拓展是否安装并开启
    if(!function_exists("ssh2_connect")){
        exit('SSH扩展没有安装或者没有安装成功');
    }
    //建立ssh2连接
    $ssh2 = ssh2_connect($ssh_host, $ssh_port);
    if(!$ssh2){
        exit('连接服务器失败');
    }else{
        echo '成功连接上了服务器';
    }
    //连接成功后进行密码验证,没验证无法进行其他操作。
    if(!ssh2_auth_password( $ssh2, $ssh_user,  $ssh_pwd )){
        return false;
    }
    //shell脚本语句
    $e="/etc/init.d/nginx restart >> /tmp/nginx_restart_".date('Ymd').".log";
    //通过ssh2_exec执行语句
    ssh2_exec($ssh2, $e);
}

Weitere PHP-bezogene Kenntnisse, Bitte besuchen Sie die PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonPHP stellt für Serverbefehlsoperationen eine Verbindung zum Server her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Kernfunktionen-NamespaceNächster Artikel:PHP-Kernfunktionen-Namespace