PHP system()执行两次,而exec()不执行

时间:2018-10-16 05:03:58

标签: debian php

我有问题: 当我使用system()执行命令时,它将运行2次,但是当我使用exec()时,则不会运行

test.php

echo "something" . PHP;

|

testSystem.php

system(__DIR__ . "/test.php"); // runs 2 times

testExec.php

exec(__DIR__ . "/test.php"); // runs 1 time

1 个答案:

答案 0 :(得分:2)

我想,您的“系统”调用实际上不会执行两次。根据PHP手册

http://php.net/manual/en/function.system.php

系统-执行一个外部程序显示输出。

请比较 http://php.net/manual/en/function.exec.php

Php的“系统”命令运行“ testSystem.php”脚本,捕获输出“某物”,而不是系统命令为您提供脚本输出(仅运行一次)“某物”。

实际上,“ system”命令只是重复脚本输出,而无需运行两次。

可以肯定的是,您可以更改testSystem.php以将“内容”写入(附加)到文本文件中。每个脚本调用可能只会看到一个条目。