php 执行命令函数

前言

  • 有些php版本会禁用一些函数,在使用前请先将其解除禁用
  • 解除禁用方法
  • 找到你的php.ini,然后搜索disable_functions,将里面的禁用函数删除即可

参数解读
$command是要执行的命令
$output是获得执行命令中的每一个输出值
$return是获取执行命令后是否执行成功

1、system

system($command,$return)

执行 系统命令/php自定义命令,并将相应的执行结果输出,同步进程,执行完后进行后续代码执行

2、exec

exec($command,$outpub,$return)

注意:exec输出的是命令执行结果的最后一行内容。如果你需要获取未经处理的全部输出数据,请使用passthru()函数。

3、passthru

passthru($command,$return_var)

4、 shell_exec

shell_exec($command)

4.1 反引号 `

echo `command`

反引号和shell_exec意思相同
在php中称之为执行运算符,PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回

以上方法是命令执行完才可执行后面程序,如果你的逻辑复杂,会影响用户体验,这时可以提供一个,异步执行的方法,通知服务器执行,不占用主程序进程的方法

5、popen pclose

 $storm=popen($command,'w');//打开一个进程通道 
 pclose($storm);

popen中的 w参数可以有 r/w ,r为读文件 w为谢文件
pclose要关闭他的返回值,不能直接关闭popen,如果写在一起会导致同步执行进程,可能造成程序卡死

下面两类不太常用可以看下,但是在一些特殊情况还是有更好的处理

6、proc_open

proc_open (string $cmd ,array $descriptorspec ,array &$pipes [, string $cwd [, array $env [, array $other_options ]]])

与popen函数类似,但是可以提供双向管道
popen函数具体解析

7、pcntl_exec

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

path是可执行二进制文件路径或一个在文件第一行指定了 一个可执行文件路径标头的脚本
args是一个要传递给程序的参数的字符串数组。
pcntl是linux下的一个扩展,需要额外安装,可以支持 php 的多线程操作。
pcntl_exec函数的作用是在当前进程空间执行指定程序,版本要求:PHP > 4.2.0

pcntl函数具体解析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值