PHP:当我调用exec()函数时会发生什么


PHP: what happens when I call exec() function?

假设我想使用PHP脚本从URL中获取内容。

一种方法是使用PHP函数,如

echo file_get_contents("http://www.example.com/file.xml");

另一种方法是使用UNIX工具,如wgetcurl,或从shell 访问的任何其他工具

echo exec("wget http://www.example.com/file.xml");

假设UNIX工具和PHP函数具有相似的实现并以相同的效率执行,那么使用exec()和PHP内置函数来实现相同的功能之间是否存在显著的性能差异?

在资源方面调用exec()函数时,会发生什么?它是真的创建了一个新的shell会话,还是在当前phpshell会话之上运行?

exec()函数创建了一个新的shell实例,它有自己的环境变量,因此性能会受到影响。