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

时间:2013-07-13 03:37:46

标签: php performance shell

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

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

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

另一种方法是使用UNIX工具,例如 wget curl ,或者可以从shell访问的任何其他工具

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

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

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

1 个答案:

答案 0 :(得分:4)

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