5

客户端如何向服务器发送请求只是为了触发执行,服务器立即发送响应然后执行请求的代码?与此类似:

echo 'the execution is starting';
exit;
execution_function(); // <--- is it possible to this function being executed after exit 

我希望响应是即时的,以便客户端可以在服务器执行请求时执行其他操作。

4

4 回答 4

10

您可以使用register_shutdown_function()设置一个回调函数,该函数将在 PHP 退出时执行。

于 2012-07-15T05:10:52.373 回答
2

您可以在 exit() 、 die() 之后使用 register_shutdown_function() ,甚至可以使用此函数将致命错误注册到错误注册日志中。非常方便

于 2019-08-28T22:36:02.070 回答
0

我不认为这是可以做到的。

通常我所做的是将 exec() 调用到另一个 PHP 文件中的另一个外部脚本,命令末尾带有“> /dev/null &”,然后是 exit()。

这样调用 exec() 的脚本在被调用脚本运行时不会运行。

于 2012-07-15T05:17:14.430 回答
-4

这是不可能的,原因是当您调用 exit 函数时,PHP 会停止处理之后的任何内容。如果脚本检测到错误,它的正常用法是停止运行,因为它达到成功条件操作的可能性为零。

如果您希望您的脚本继续运行并做一些事情,请将您希望它做的事情放在退出函数之前。

于 2012-07-15T05:01:25.753 回答