可以通过
的三个PHP函数运行外部命令system();
exec();
shell_exec();
但他们的区别是什么?尽管它们具体应用,但在大多数情况下,可以同样使用。我很想知道哪些是可以同样使用的首选。例如,对于解压缩文件或压缩文件夹(使用tar命令),首选哪一个(可能从性能的角度来看)?
更新:在另一个问题中,我发现了一个非常有用的 link ,描述了这些功能的不同方面。我在这里分享链接,因为其他人可能会用来更好地理解安全问题和其他方面。
答案 0 :(得分:89)
exec - 执行外部程序
system - 执行外部程序并显示输出
shell_exec - 通过shell执行命令并将完整输出作为字符串
返回所以如果你不需要输出,我会选择exec。
进一步详情: