php exec多条命令怎么拼接_PHP执行Shell的几种方式

本文探讨了PHP中使用system, shell_exec, exec函数执行命令的局限性,随后介绍ssh2扩展和Net/SSH2库在执行服务器命令时的优势和适用场景,包括如何通过SSH2连接、权限提升和第三方库的使用来实现更灵活的服务器操作。
摘要由CSDN通过智能技术生成
9fea774062671575ff5d9623251006ac.png

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来间接完成任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值