利用ssh2模块使php执行linux命令管理系统

系统软件环境(其实在这三个命令中可以看出很多,要注意我的系统版本):

这个命令查看系统版本的:

这个命令查看系统内核的:

这个命令查看系统多少位的:

首先你必须有lamp环境(mysql不需要也行)或者lnp环境(由于我想在这把一套下来的过程都记录下来所以把如何搭建lnmp环境的步骤也写下):

你也可以选择用源码包安装(在这我只是用php执行linux命令所以简单来就行)

在下步之前必须搭建好自己的yum源(可以选择本地光盘或者公网上的)在这里我选择公网上的仓库源(因为公司带宽可以满足)我将在附件中传入我的yum仓库文件(只需要替换你yum仓库里的文件就行前提是你先备份好自己的哦)

附件说明:先用linux下的tar压缩了,再用windows下压缩了(由于51cto报无法识别文件的错所以用windows再次压缩上传,sorry)

yum配置好后接下来就是安装lamp了(首先安装你的gcc环境):

1:安装apache

yum install httpd httpd-devel


2:安装mysql

yum install mysql mysql-server mysql-devel


3:安装php

yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

4:启动apache

   测试php

   建立以下文件/var/www/html/test.php
   编辑其内容

// test.php
<?php
phpinfo();
?>

5:测试
   在浏览器中输入:http://IP/test.php
   看是否显示PHP的信息

6:设置开机启动

chkconfig httpd on

以上就安装好了lamp环境了

接下来安装ssh2模块(同样采用yum):

首先:

yum install  php-devel php-pear libssh2 libssh2-devel(前提是已经安装了gcc) 
注释:
1、libssh2为库(这几个包必须得安装)
2、PECL 使我们能够建立SSH2的扩展使用
 

其次:

pecl install -f ssh2

执行这个命令后显示:
到“libssh2 prefix?[autodetect]这一步时需要做的是回车键,它应该检测到正确的路径。一旦安装完成,你只需要告诉PHP在启动时加载的扩展。

如果没有遇到问题最后显示:

最后:

touch /etc/php.d/ssh2.ini echo extension=ssh2.so > /etc/php.d/ssh2.ini 然后重启你的web服务器 /etc/init.d/httpd restart 当执行php -m | grep ssh2时候显示一下信息代表成功了:

或者执行一下命令并显示以下信息也代表成功:

那么我们来测试一下:

首先我们建立一个php文件,文件内容为:

当然,你需要懂php编码不然上面没法看懂(其实也简单,192.168.1.114就是远程linux的ip地址,22为ssh的端口号,ssh2_connect()为一个函数,ssh2_auth_password也为一个函数后面的为密码(酷似php联系mysql的函数)

这个文件最后是ssh2_exec()函数来执行linux的”ls“命令,echo 在web界面上)

现在了看看我root目录下的”ls“结果:

我们也可以php ssh2.php来执行看看效果(显示了root下面的文件,在ssh2.php中我们只执行了”ls“命令了,由于截图原因少截取了部分图):

我们也可以把ssh2.php放在web服务器根目录:

同样访问试试(这是我在linux字符界面下访问的,由于截图原因少截取了部分图):

看到了吗?和我在linux下直接执行ls的命令一样。

我们再用firefox浏览一下:

当然这样显示当然不好看的,我们可以进行美化一下,如何美化,请你自己去研究哦!记得分享哈,呵呵呵

 

文章最后:

本人菜鸟,文章有误请不吝指出,欢迎点评,谢谢哈

 

你可能感兴趣的:(linux,PHP,ssh2,休闲,libssh2,phpwebmin)