![9fea774062671575ff5d9623251006ac.png](https://i-blog.csdnimg.cn/blog_migrate/204872def3d0957441cf98daa8d4d8b3.jpeg)
PHP SSH2 Softwore 软件 开发
1.通过system, shell_exec, exec函数直接在服务器上面运行,优点是简单方便,缺点是有些情况下权限受到限制导致某些命令不能执行。
<?php $output = shell_exec('ls -lart');echo "
$output
";?>
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来间接完成任务