使用php触发另一个php脚本,然后忽略

Emm*_*uel 7 php process background-process

我正在努力弄清楚如何做到这一点:我有一个php文件让我们调用trigger.php运行一些PHP代码,引发另一个我们将调用backgroundProcess.php开始处理的php文件.

虽然trigger.php需要忽略发生的事情backgroundProcess.php,但它只需要开始处理,它会在backgroundProcess.php继续运行时停止.

EDIT1

我在Windows Wampserver 2.1上运行它所以这必须是一个Windows命令.

EDIT2

由于jakenoble的建议,用以下命令解决了它:

exec("C:\wamp\bin\php\phpVERSION_NUMBER\php.exe -f C:\wamp\www\path\to\backgroundProcess.php");
Run Code Online (Sandbox Code Playgroud)

Jak*_*e N 5

您可以使用exec()并添加一个&在调用的末尾,以及一个输出流:

在触发器.php

exec("php backgroundProcess.php > /dev/null &");
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到更多http://php.net/manual/en/function.exec.php

  • 它不起作用,Windows 可能不知道 `php` 安装在哪里,因此无法执行它。尝试启动一个命令窗口并在那里执行脚本,然后获取该代码并在 `exec()` 中使用它。我不使用 Windows,所以不能提供更多帮助。您可能想要修改您的问题,因为这会改变一切。 (2认同)