php 执行shell的方式

system()

执行shell,并直接打印,也返回结果。

exec()

执行shell,返回执行结果,但不直接打印。

passthru()

将执行结果输出到标准设备,然后返回状态码。

popen()

打开一个进程管道来执行给定的命令,返回一个文件句柄。
可以通过设置只读或只写模式,并进行交互。
可以使用pclose()函数来关闭它,从而做到立即返回(命令会后台继续执行)。

proc_open()

类似 popen() 函数, 但是 proc_open() 提供了更加强大的控制程序执行的能力。
示例:

$descriptor = [
    0 => ['pipe', 'r'],
    2 => ['file', $log, 'a']
];

proc_open(
    $cmd,
    $descriptor,
    $pipes
);

proc_get_status — 获取由 proc_open() 函数打开的进程的信息

- 标准输入(stdin):文件描述符为 0,通常是键盘输入。
- 标准输出(stdout):文件描述符为 1,通常是屏幕输出。
- 标准错误(stderr):文件描述符为 2,通常是屏幕输出。

相关参考:
php中popen,exec,system,passthru区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值