PHP执行外部程序的方法

引言

在一些特殊情况下,会使用PHP调用外部程序执行,比如:调用shell命令、shell脚本、可执行程序等等

PHP执行外部程序的方法

  • system(),system函数将执行的结果直接输出
  • exec():执行一个外部程序,将输出结果保存在第二个参数上
  • passthru():执行外部程序并且显示原始输出
  • shell_exec(),没有参数中接收返回值,而且没有执行成功的状态码
  • proc_open(),会fork一个子进程,返回文件指针,但可提供双向通道
  • escapeshellcmd():只是辅助作用
  • escapeshellarg():只是辅助作用

这些函数的使用前提:

  • PHP没有运行在安全模式,关掉安全模式,即:safe_mode = off
  • 禁用函数列表 disable_functions = exec, system, shell_exec,proc_open, popen, 如果禁用了,就关掉。

    注意:执行外部程序是存在风险的,所以使用这些函数要在确保安全的情况下使用。

exec() - 执行一个外部程序
passthru() - 执行外部程序并且显示原始输出
popen() - 打开进程文件指针,fork一个子进程,返回文件指针
escapeshellcmd() - shell 元字符转义
pcntl_exec() - 在当前进程空间执行指定程序

参考:

  1. PHP执行外部程序的方法
  2. PHP在linux上执行外部命令(整理)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值