脚本宝典收集整理的这篇文章主要介绍了php – 重定向但仍继续处理exec(),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的PHP.ini中启用了ignore_user_abort()
<?PHP set_time_limIT ( 0 ); header ( 'Connection: close' ); ob_start (); header ( 'Content-Length: 0' ); header ( 'Location: /redirect.PHP' ); ob_end_flush (); flush (); ignore_user_abort ( true ); exec('command that takes 5 minutes to PRocess'); exit (); ?>
我提前感谢你的帮助.
我观察到,当我使用相同的Web服务器进行整个过程时,立即挂起的过程是不可能的.因此,如果您需要发送响应的连接的客户端IP与服务器IP相同,则可能永远无法执行此操作.但是,当传入的连接是真实世界的远程客户端时,它始终有效.
尽管如此,我只是回复了“200 OK”的回复.这与发送重定向不同.
public function respondASAP($responseCode = 200) { // check if fastcgi_finish_request is callable if (is_callable('fastcgi_finish_request')) { /* * This works in Nginx but the next approach not */ session_write_close(); fastcgi_finish_request(); return; } ignore_user_abort(true); ob_start(); http_response_code($responseCode); header('Content-Encoding: none'); header('Content-Length: '.ob_get_length()); header('Connection: close'); ob_end_flush(); ob_flush(); flush(); }
以上是脚本宝典为你收集整理的php – 重定向但仍继续处理exec()全部内容,希望文章能够帮你解决php – 重定向但仍继续处理exec()所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。