作者:钟爱胖胖 | 来源:互联网 | 2020-08-20 20:34
安装PHPSSH2扩展sudoapt-getinstalllibssh2-1php-ssh2,在Windows环境下安装下载phpextensionssh2。
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时得到的模块,上面是模块的位置。
重启web服务器
/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社区 其它相关文章!