【发布时间】:2012-06-05 10:06:54
【问题描述】:
可以通过三个PHP函数来运行外部命令
system();
exec();
shell_exec();
但是它们有什么区别呢?尽管它们有特定的应用,但在大多数情况下,它们都可以同样使用。我很想知道当它们可以同等使用时哪个是首选。例如,对于解压缩文件或压缩文件夹(使用 tar 命令),哪个是首选(可能从性能角度来看)?
更新: 在另一个问题中,我发现了一个非常有用的 link 描述了这些功能的不同方面。我在这里分享链接,因为其他人可能会使用它来更好地了解安全问题和其他方面。
【问题讨论】:
-
不要吹毛求疵,但是手册对各自的功能是怎么说的?
-
另外,你忘了 passthru () :)
-
@GordonM 我阅读了手册,但我不了解每个功能的偏好。在许多情况下,它们可以同等使用。我想要一个实用的观点。
-
@periklis 你是对的,这个问题解决了同样的问题,但我找不到它。一个答案有一个非常有用的链接,用于详细解释。谢谢!
标签: php shell system exec shell-exec