很多站长朋友们都不太清楚php运行ssh命令,今天小编就来给大家整理php运行ssh命令,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php的ssstrong_exec()函数不能正常使用? 2、 php点击按钮执行ssh命令登陆路由器并执行命令 3、 php问题:PHP能不能连接ssh并进行文件的读写操作? 4、 检查使用PHP SSH2远程目录问题,怎么解决 5、 php_ssstrong 连接执行指令有返回值吗 比如 $cmd2="rm -rf /home/cs/phpsshtest"; ssstrong_exec($ssstrong, $cmd2); 6、 phpssstrong卡死 php的ssstrong_exec()函数不能正常使用?检查权限. 文件的权限,文件的所有者,文件的所在组。
另外,也要看看你是怎么运行的。 是不是 在 linux 上root用户下直接运行 php命令 ,还是通过网页版访问php文件(这种情况下,是要走nginx或apache的进程用户的,也要确定有权限)。
php点击按钮执行ssh命令登陆路由器并执行命令代码如下:
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
php问题:PHP能不能连接ssh并进行文件的读写操作?可以的,首先你必须安装了ssh的php扩展。
如果不知道是否已经安装好,可以输入一下代码测试一下。
<?php
phpinfo();
?>
如果有以上信息,说明安装成功,以下是测试代码
<?php
$connection = ssstrong_connect('192.168.1.222', 22);
if (!$connection) die('Connection failed');
ssstrong_auth_password($connection, 'root', 'root');
$sftp = ssstrong_sftp($connection);
$stream = fopen("ssstrong.s", 'w+');
fwrite($stream, "php_ssh_test\nsecond line\n");
fclose($stream);
exit;
检查使用PHP SSH2远程目录问题,怎么解决为PHP安装SSH2扩展需要两个软件包,libssstrong和ssstrong。两者的最新版本分别为1.4.2和0.12,下载地址分别为和。这里我们可以均下载最新版本,libssstrong的源码包为libssstrong-1.4.2.tar.gz,ssstrong的源码包为ssstrong-0.12.tgz。
其次,解压并安装libssstrong和ssstrong。其中,libssstrong需要先安装,ssstrong后安装。安装步骤如下:
# tar -zxvf libssstrong-1.4.2.tar.gz
# cd libssstrong-1.4.2
# ./configure --prefix=/usr/local/libssstrong
# make make install
以上为安装libssstrong,这里需要记住libssstrong的安装目录,因为在安装ssstrong的时候还会用到。
# tar -zxvf ssstrong-0.12.tgz
# cd ssstrong-0.12
# phpize
# ./configure --prefix=/usr/local/ssstrong --with-ssstrong=/usr/local/libssstrong
# make
执行完以上过程后,在当前目录下的modules目录下会生成一个ssstrong.so文件,这就是扩展PHP所需要的,将该文件拷贝到PHP库的存储目录下在修改PHP的配置文件即可。
# cp modules/ssstrong.so /usr/lib64/php/modules/
注:PHP库的存储目录可能因系统而异,本博主的机器上是/usr/lib64/php/modules/
# vi /etc/php.ini
# 向该文件中添加内容:extension=ssstrong.so
此时为PHP扩展SSH2就已经完成了,为了验证是否安装成功,我们可以通过执行一下命令来验证。
# php -i|grep ssstrong
Registered PHP Streams => php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps, ssstrong.shell, ssstrong.exec, ssstrong.tunnel, ssstrong.scp, ssstrong.sftp
ssstrong
libssstrong version => 1.4.2
banner => SSH-2.0-libssstrong_1.4.2
最后,我们再通过一个简单的PHP程序来试用SSH2,该程序首先连接远程服务器,然后执行相关操作,最后读取操作执行的返回结果,具体例子代码如下。
<?php
$user="user";
$pass="password";
$connection=ssstrong_connect('202.112.113.250',22);
ssstrong_auth_password($connection,$user,$pass);
$cmd="ps aux";
$ret=ssstrong_exec($connection,$cmd);
stream_set_blocking($ret, true);
echo (stream_get_contents($ret));
?>
php_ssstrong 连接执行指令有返回值吗 比如 $cmd2="rm -rf /home/cs/phpsshtest"; ssstrong_exec($ssstrong, $cmd2);看下手册,该函数的使用方法是
ssstrong_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] ) : resource
如果成功了,返回的是资源类型,失败时候返回的是false
stream_get_contents($stream);
可以使用这个函数,返回上面返回得结果
phpssstrong卡死您好,phpssstrong卡死是一种常见的问题,它可能是由于您的服务器环境出现了问题导致的,因此您需要通过检查您的服务器环境来解决这个问题。您可以检查您的php版本,检查您的ssstrong扩展是否正确安装,检查您的服务器是否正确配置,以及检查您的服务器是否有其他的程序正在运行,以及您的服务器是否有其他的程序正在占用您的资源。如果您检查了所有这些,但仍然无法解决phpssstrong卡死的问题,您可以尝试重新安装phpssstrong扩展,或者您可以尝试更新您的php版本。希望以上信息能够帮助您解决phpssstrong卡死的问题。
关于php运行ssh命令的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php运行ssh命令 php执行sh脚本的详细内容...