我有问题: 当我使用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
答案 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以将“内容”写入(附加)到文本文件中。每个脚本调用可能只会看到一个条目。