Heim > Artikel > Backend-Entwicklung > 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!