exec、shell_exec、system、passthru、pcntl_exec

本文概述了PHP中用于执行外部程序的多种方法,包括exec、shell_exec、system、passthru、pcntl_exec、escapeshellcmd、popen及stream_context_create。详细解释了每种方法的功能、使用场景及状态码含义,为开发者提供了全面的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、exec — 执行一个外部程序

在exec中第一个参数后添加 2>&1。如果python运行错误,将会把出错信息传递给$arr变量,
然后就可以将arr变量的值输出到web端,以便差错。第三个参数执行的状态,0表示成功,其他都表示失败。
exec("/usr/bin/python test_english.py $firstname $secondname 2>&1",$arr,$ret);

exec("python  /home/vagrant/code/php-dms/test.py");

 状态码详解:

2、shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。

3、system() - 执行外部程序,并且显示输出,成功则返回命令输出的最后一行, 失败则返回 FALSE

4、passthru() - 执行外部程序并且显示原始输出

5、pcntl_exec() - 在当前进程空间执行指定程序

6、escapeshellcmd() - shell 元字符转义

7、popen — 打开进程文件指针

8、stream_context_create() - 创建资源流上下文,配合file_get_contents(),可以向外部发送数据等。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值