PHP中的exec()、shell_exec、system()和passthru()函数有什么不同?

PHP中的exec()、shell_exec、system()和passthru()函数有什么不同?,php,Php,任何人都可以告诉我。我想知道exec()、shell\u exec、system()和passthru()函数之间的区别 我无法从中搜索到所需的答案。passthru用于返回二进制数据,而不是ascii。一个典型的例子是图像处理程序返回图像而不是文本数据 有关更多信息,请参阅 另请参见。 仅返回生成的输出的最后一行 当命令完成运行时,返回命令的完整输出 立即显示所有输出,并用于显示文本 也立即返回输出,但用于二进制数据通过显示原始数据 使用exec和shell\u exec可以自己处理输出,而

任何人都可以告诉我。我想知道
exec()
shell\u exec
system()
passthru()
函数之间的区别


我无法从中搜索到所需的答案。

passthru用于返回二进制数据,而不是ascii。一个典型的例子是图像处理程序返回图像而不是文本数据

有关更多信息,请参阅

另请参见。

  • 仅返回生成的输出的最后一行
  • 当命令完成运行时,返回命令的完整输出
  • 立即显示所有输出,并用于显示文本
  • 也立即返回输出,但用于二进制数据<代码>通过显示原始数据
使用
exec
shell\u exec
可以自己处理输出,而
system
passthru
不允许您自定义并立即显示输出


可以找到更详细的比较

就我所见,在PHP webiste上为每一个都提供了正确的描述(有差异)。你能告诉我passthru()有什么用吗?Send me reference link,我将从PHP passthru文档中找到我的答案:“当Unix命令的输出是需要直接传回浏览器的二进制数据时,应使用此函数代替exec()或system()如果您有一个示例
system
在出现错误时返回false,那将是非常棒的。这是否意味着退出代码为
!==0
是否返回false?因此,如果我只想检查命令是否成功,我不必实际检查
$retval