PHP调用外部程序的方法解析

本文详细介绍了在PHP中调用外部程序的各种方法,包括exec、system、passthru、popen、proc_open、shell_exec、pcntl_exec以及COM组件(Windows环境),并提供了示例和注意事项,如使用exec时的输出重定向、命令行参数的安全处理等。
摘要由CSDN通过智能技术生成

很多情况下需要php调用其他程序如shell命令、shell脚本、可执行程序等等,此时需要使用到诸如exec/system/popen/proc_open等函数,每种函数有各自适合使用的场景以及需要注意的地方。

前提:PHP没有运行在安全模式

如果PHP运行在安全模式下,那么在执行外部命令、打开文件、连接数据库、基于HTTP的认证这4个方面将会受到制约,可能在调用外部程序时无法获取预期的结果,此时需要设置特定目录,可以在php.ini中编辑safe_mode_exec_dir参数来指定。

  1. exec

原型:string exec ( string command [, array &output [, int &return_var]] )

描述:返回值保存最后的输出结果,而所有输出结果将会保存到 o u t p u t 数组, output数组, output数组,return_var用来保存命令执行的状态码(用来检测成功或失败)。

例子:$ret?=exec(“ls -al”, $output, $var);

注意:

A. 输出结果会逐行追加到 o u t p u t 中,因此在调用 e x e c 之前需要 u n s e t ( output中,因此在调用exec之前需要unset( outpu<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dituirenwu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值