Stop php script execution

前端 未结 4 1526
情深已故
情深已故 2021-01-14 17:01

I have php_mod and an apache server. If I start a script from the browser it will persist until the execution is complete ( even if i close the browser )

How can i s

4条回答
  •  余生分开走
    2021-01-14 17:46

    Normally, if you're sending output, this doesn't happen: if the webserver detects a disconnect, the PHP process is also stoppend (which is why we have functions like register_shutdown_function to make sure something is done (unelss you encounter a fatal error of course)).

    However, as HTTP is stateless, the only point in time the webserver will detect a disconnect is when it is trying to send content (see also the remarks at ignore_user_abort (default is false, which is what you want)). Depending on the context of the request, a workable kludge could be in big loops to send non-displayed data to the user, in HTML that could be to send whitespace and flush. This can end up in any buffer though, (PHP's, servers, other places in the network) so detection is still not 100%, but that is about unavoidable. A sane time limit to avoid infinite looping, and only upping that limit for requests that actually need them is about the best you can do.

提交回复
热议问题