PHP 中的 exec()、shell_exec、system() 和 passthru() 函数之间有什么区别?

php
2022-08-30 11:09:17

任何人请告诉我。我想知道 、 和 函数之间的区别吗?exec()shell_execsystem()passthru()

我从 php.net 搜索,无法获得我需要的答案。


答案 1
  • exec 仅返回生成输出的最后一行。
  • shell_exec命令完成运行时,返回命令的完整输出。
  • 系统立即显示所有输出,并用于显示文本。
  • passthru 也会立即返回输出,但用于二进制数据。 显示原始数据。passthru

使用两者,可以自己处理输出,而 并且不允许您自定义它并立即显示输出。execshell_execsystempassthru

更详细的比较可以在这里找到。


答案 2

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

请参阅 PHP - exec() vs system() vs passthru() 了解更多信息

另请参阅 php shell_exec() vs exec()。


推荐