php通过拓展ssh2控制linux
来源:互联网 发布:date pattern java 编辑:程序博客网 时间:2024/05/27 20:50
然后我们的php环境要想实现控制linux,必须安装php的一个扩展ssh2
0.下载ssh2扩展,从http://pecl.php.net/package/ssh2,有linux扩展包,也有windows的dll,如果是php5安装ssh2-0.13或0.12扩展,php7安装1.0
windows安装方法:
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中加入 extension=php_ssh2.dll
5. 重启IIS,即可使用php执行ssh连接操作了。
查看phpinfo(),是否有显示php_ssh2扩展加载成功。
linux下安装方法:1、安装支持库文件
yum install php-devel php-pear libssh2 libssh2-devel -y直接登录SSH客户端,然后执行命令回车,安装需要的库文件。
2、安装SSH2扩展
pecl install -f ssh2
执行命令,然后看到一个输入界面,直接回车。回车之后自动安装。
3、修改ssh2.ini
touch /etc/php.d/ssh2.ini echo extension=ssh2.so > /etc/php.d/ssh2.ini添加文件进去。4、检查SSH2是否安装成功
这里,我们可以看到老左上面安装的SSH2扩展已经完毕且成功的。php -m | grep ssh2 php -i|grep ssh2
php控制linux代码示例(控制mariadb服务的开启关闭):
<?phpheader("content-type:text/html;charset=utf8");$str="systemctl status mariadb.service ";$host='192.168.1.59';//被控制的linux的ip$user='root';//用户名$passwd='123456';//密码// 链接远程服务器$connection = ssh2_connect($host, 22);/*if (!$connection) die('connection to '.$host.':22 failed');echo 'connection OK<br/>';*/// 获取验证方式并打印$auth_methods = ssh2_auth_none($connection, $user);if (in_array('password', $auth_methods )){ // 通过password方式登录远程服务器 if (ssh2_auth_password($connection, $user, $passwd)) { /*echo $user.' login OK<br/>';*/ $stream = ssh2_exec($connection, $str); // 执行php $pwd=stream_set_blocking($stream, true); // 获取执行pwd后的内容 $pwd1=stream_get_contents($stream); print_r($pwd1); $a=strpos($pwd1,'running'); if($a) { $b='running'; $st="systemctl stop mariadb.service"; }else { $b='dead'; $st="systemctl start mariadb.service"; } $stream = ssh2_exec($connection, $st); // 执行php /* $pwd=stream_set_blocking($stream, true); // 获取执行pwd后的内容 if ($stream === FALSE) die("pwd failed"); echo 'pwd: '.stream_get_contents($stream).'<br/>';*/ } else { die( $user.' login Failed<br/>'); }}if($b=='dead'){ echo "服务器状态:".$b."<a href='a.php'>开启</a>";}else{ echo "服务器状态:".$b."<a href='a.php'>关闭</a>";}
0 0
- php通过拓展ssh2控制linux
- php通过拓展ssh2控制linux
- php通过拓展ssh2控制linux
- php 通过 ssh2扩展控制Linux 阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,(模拟阿里云web控制台 )
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php通过ssh2扩展控制linux,模拟阿里云web控制台
- php远程操作linux,ssh2
- php的ssh2扩展实现远程控制
- php安装ssh2扩展控制linux,模拟阿里云web控制台
- ssh2拓展的使用
- linux下php扩展ssh2的安装
- linux下php扩展ssh2的详解
- Android绘制选手实力图
- android虚席总结(16.08.26)Activity的生命周期
- AOJ 455 POJ 1088 滑雪 dfs + 记忆化搜索
- Rxjava 概览
- 《虚拟化技术原理与实现》读书笔记之前序(一)
- php通过拓展ssh2控制linux
- opencv图像平滑处理
- Android系统休眠对程序的影响以及处理
- 探究 Dagger2
- R语言十八讲(三)—数据输入
- 【DP+广搜】有向图的单源点最短路径
- linux svn 服务器搭建及开机启动
- 程序的卸载
- 笔记:shiro与spring整合