PHP中的system(),exec()和shell_exec()有什么区别?

通过三个PHP函数可以运行一个外部命令

system(); exec(); shell_exec(); 

但是他们有什么不同? 尽pipe具体的应用,在大多数情况下,可以平等使用。 我很想知道哪一个是可以同样使用的首选。 例如,对于解压缩文件或压缩文件夹(使用tar命令),哪一个是首选(可能是从性能angular度来看)?

更新:另一个问题,我发现了一个非常有用的链接,描述这些function的不同方面。 我在这里分享链接,因为其他人可能会使用它来更好地理解安全问题和其他方面。

exec – 执行一个外部程序

系统 – 执行外部程序并显示输出

shell_exec – 通过shell执行命令,并以stringforms返回完整的输出

所以如果你不需要输出,我会去执行exec。

更多细节: