您的位置 首页 php

PHP执行Shell的几种方式

PHP SSH2 Softwore 软件 开发

1.通过 system , Shell _ exec , exec函数直接在服务器上面运行,优点是简单方便,缺点是有些情况下权限受到限制导致某些命令不能执行。

<?php
$output = shell_exec('ls -lart');
 echo  "<pre>$output</pre>";
?>
 

2.通过ssh2扩展连接到服务器然后在执行相应的命令,优点是可以突破权限的限制执行一些root命令,缺点是有些情况下服务器未安装ssh2扩展或者当前版本php不太好安装ssh2扩展。

<?php
$connection = ssh2_connect(' shell .example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>
 

3.可通过”Net/SSH2.php”链接到服务器,然后执行命令,优点是不依赖服务器扩展,缺点是需要引入第三方包

 include ('Net/SSH2.php');
 define ('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);
$ssh = new Net_SSH2(' www .domain.tld');
if (!$ssh->login('username', 'password')) {
 exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->getLog();
 

4.其实还有很多变通的办法这里就不在阐述了比如先通过shell_exec执行grunt然后通过grunt的ssh2来间接完成任务

文章来源:智云一二三科技

文章标题:PHP执行Shell的几种方式

文章地址:https://www.zhihuclub.com/77203.shtml

关于作者: 智云科技

热门文章

网站地图