>백엔드 개발 >PHP 튜토리얼 >PHP는 서버 명령 작업을 위해 서버에 연결합니다.

PHP는 서버 명령 작업을 위해 서버에 연결합니다.

angryTom
angryTom원래의
2019-10-31 18:02:394984검색

PHP는 서버 명령 작업을 위해 서버에 연결합니다.

PHP SSH2 확장 설치

### 우분투 php 설치 연결된 서버에는 PHP 확장이 필요합니다:

sudo apt-get install libssh2-1 php-ssh2

Windows 환경에서 설치

Downloadphp 확장 ssh2다운로드 주소 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/

Download PHP 버전에 따라 WAMPSERVER2.5(64bit)를 사용하고 있으며 PHP 버전은 5.5입니다. .12, 스레드로부터 안전합니다.
따라서 다운로드는 php_ssh2-0.12-5.5-ts-vc11-x64.zip

1. 압축을 풀면 libssh2라는 세 개의 파일이 있습니다. .dll, php_ssh.dll, php_ssh2.pdb.

2. php_ssh.dll 및 php_ssh2.pdb를 PHP 확장 디렉터리 php/ext/에 넣습니다.

3. libssh2.dll을 c:/windows/system32 및 c:/windows/syswow64에 복사합니다.

4. php.ini .dll#🎜에 확장명=php_ssh2를 추가합니다. 🎜#

5. Apache를 다시 시작하면 PHP를 사용하여 SSH 연결 작업을 수행할 수 있습니다.

6. phpinfo()를 확인하여 php_ssh2 확장이 성공적으로 로드되었는지 확인하세요.


Linux 환경에 설치

PHP SSH2 확장에 필요한 종속 라이브러리

openssl: C 언어로 구현된 암호화 알고리즘 모음

libssh2: C 언어로 구현된 ssh2 프로토콜 라이브러리

PECL/ssh2: libssh2의 PHP 확장, PHP 프로그램에서 함수 호출 가능 libssh2에서

종속성: PECL/ssh2 –> libssh2 –> openssl


필수 확장 팩 설치

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

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

php 구성 정보 수정

cd  /etc/php5/cgi  
vim  php.ini

항목 추가: Extension=/usr / lib/php5/20090626/ssh2.so

ssh2.so는 ssh2를 컴파일할 때 얻은 모듈입니다. 위는 모듈의 위치입니다.


cd  /etc/php5/cli  
vim  php.ini

항목 추가: Extension=/usr/lib/php5/20090626/ssh2.so

ssh2.so는 ssh2를 컴파일할 때 얻은 모듈입니다. 위의 위치는 다음과 같습니다. 모듈의 .


웹 서버 다시 시작

/etc/init.d/lighttpd restart

ssh2가 로드되었는지 확인

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

php 코드 사용

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

PHP 관련 지식을 더 보려면

PHP中文网

을 방문하세요!

위 내용은 PHP는 서버 명령 작업을 위해 서버에 연결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.