php获取ssh数据 php ssh

检查使用PHP SSH2远程目录问题,怎么解决

为PHP安装SSH2扩展需要两个软件包,libssh2和ssh2。两者的最新版本分别为1.4.2和0.12,下载地址分别为和。这里我们可以均下载最新版本,libssh2的源码包为libssh2-1.4.2.tar.gz,ssh2的源码包为ssh2-0.12.tgz。

苍溪网站建设公司成都创新互联公司,苍溪网站设计制作,有大型网站制作公司丰富经验。已为苍溪上1000家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的苍溪做网站的公司定做!

其次,解压并安装libssh2和ssh2。其中,libssh2需要先安装,ssh2后安装。安装步骤如下:

# tar -zxvf libssh2-1.4.2.tar.gz

# cd libssh2-1.4.2

# ./configure --prefix=/usr/local/libssh2

# make make install

以上为安装libssh2,这里需要记住libssh2的安装目录,因为在安装ssh2的时候还会用到。

# tar -zxvf ssh2-0.12.tgz

# cd ssh2-0.12

# phpize

# ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2

# make

执行完以上过程后,在当前目录下的modules目录下会生成一个ssh2.so文件,这就是扩展PHP所需要的,将该文件拷贝到PHP库的存储目录下在修改PHP的配置文件即可。

# cp modules/ssh2.so /usr/lib64/php/modules/

注:PHP库的存储目录可能因系统而异,本博主的机器上是/usr/lib64/php/modules/

# vi /etc/php.ini

# 向该文件中添加内容:extension=ssh2.so

此时为PHP扩展SSH2就已经完成了,为了验证是否安装成功,我们可以通过执行一下命令来验证。

# php -i|grep ssh2

Registered PHP Streams = php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp

ssh2

libssh2 version = 1.4.2

banner = SSH-2.0-libssh2_1.4.2

最后,我们再通过一个简单的PHP程序来试用SSH2,该程序首先连接远程服务器,然后执行相关操作,最后读取操作执行的返回结果,具体例子代码如下。

?php

$user="user";

$pass="password";

$connection=ssh2_connect('202.112.113.250',22);

ssh2_auth_password($connection,$user,$pass);

$cmd="ps aux";

$ret=ssh2_exec($connection,$cmd);

stream_set_blocking($ret, true);

echo (stream_get_contents($ret));

?

php问题:PHP能不能连接ssh并进行文件的读写操作?

可以的,首先你必须安装了ssh的php扩展。

如果不知道是否已经安装好,可以输入一下代码测试一下。

?php

phpinfo();

?

如果有以上信息,说明安装成功,以下是测试代码

?php

$connection = ssh2_connect('192.168.1.222', 22);

if (!$connection) die('Connection failed');

ssh2_auth_password($connection, 'root', 'root');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.s", 'w+');

fwrite($stream, "php_ssh_test\nsecond line\n");

fclose($stream);

exit;

php如何通过连接SSH服务器访问mysql数据库?

$host='127.0.0.1';

$user='root';

$password='root';

$dbName='dbName';

$link=new mysqli($host,$user,$password,$dbName);

if ($link-connect_error){

die("连接失败:".$link-connect_error);

}

$sql="select * from admins";

$res=$link-query($sql);

$data=$res-fetch_all();

var_dump($data);

通过ssh连接mysql的php代码怎么写

mysql_connect()函数用于连接数据库,注意,是小写,大写是不行的哦 他有3个参数 第一个:是mysql数据库所在服务器地址,有2种情况,一种是:你的连接数据库的代码文件和mysql数据库,那么,这个参数可以是localhost、127.0.0.1这两种都行,mysql数据库端口默认是3306,连接的时候可以省略,但如果mysql'数据库端口不是这个,那这个参数还要加上端口,比如,localhost:3305、127.0.0.1:3305这样 第二种情况就是,你的程序代码在A服务器,msyql在B服务器,这样,这个参数就是mysql数据库所在服务器的ip地址 第二个参数是mysql数据库的登录用户,比如:root 第三个参数是mysql数据库的登录用户的密码,比如123456,当然,如果mysql数据库相应的登录用户,没有设置密码,那么这个参数可以留空,但不能省略 至于双引号单引号的问题,没有多大差别,单引号双引号都行,如果非要说有差别的话,就是,php会查找双引号内的变量进行编译 给你举个例子: $a = 10; echo '数字是:$a';//这个使用了单引号,那么输出结果就是: 数字是$a echo "数字是:$a";//这个使用了双引号,所以输出结果就是:数字是10 差别就是这个 一般来说,php中,如果引号内没有变量的使用,那就用单引号,这样有利于php的优化

如何通过php连接远程主机并操作

一、最佳方案是在77机器上安装apache和php

二、可以通过管道控制使用telnet登录77号机执行命令并获取结果,ssh连接本人没有做过,telnet方法如下:

$f=fopen("telnet://192.168.0.77","rw");

$s=fgets($fp);

fputs($fp,"root");

$s=fgets($fp);

fputs($fp,"pass");

$s=fgets($fp);

fputs($fp,"df -h");

while(!feof($fp)){

$fp=fgets($fp);

echo $s;

}

fclose($fp);

手机输入真累~~~


网站栏目:php获取ssh数据 php ssh
标题链接:http://scyanting.com/article/hhigpc.html