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



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

测试.php

echo "something" . PHP;

|

测试系统.php

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

测试执行.php

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

我想,你的"系统"调用实际上并没有执行两次。 根据PHP手册

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

系统 — 执行外部程序显示输出。

请与 http://php.net/manual/en/function.exec.php

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

所以实际上,"system"命令只是重复脚本输出,而不运行两次。

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

最新更新