首頁 > 後端開發 > PHP問題 > PHP訪問結束如何繼續處理

PHP訪問結束如何繼續處理

(*-*)浩
發布: 2023-02-26 20:26:01
原創
2253 人瀏覽過

今天看到dewen裡面有人問,如何用php實作瀏覽器存取結束後繼續執行後續程式碼,我寫了個demo,在php-fpm環境下非常容易實現, fastcgi_finish_request即可。 如果是其它容器,我想只能透過輸出javascript到客戶端實現跳轉,然後後台繼續執行。

PHP訪問結束如何繼續處理

demo如下,php-fpm測試可用,apache php-cgi由於沒有環境而沒有測試。  (建議學習:PHP影片教學

<?php
// 你要跳转的url
$url = "http://www.baidu.com/";
 
// 如果使用的是php-fpm
if(function_exists(&#39;fastcgi_finish_request&#39;)){
    header("Location: $url");
    ob_flush();
    flush();
    fastcgi_finish_request();
// Apache ?
}else{
    header( &#39;Content-type: text/html; charset=utf-8&#39; );
    if(function_exists(&#39;apache_setenv&#39;))apache_setenv(&#39;no-gzip&#39;, &#39;1&#39;);
    ini_set(&#39;zlib.output_compression&#39;, 0);
    ini_set(&#39;implicit_flush&#39;, 1);
    echo "<script>location=&#39;$url&#39;</script>";
    ob_flush();
    flush();
}
 
    // 这里是模拟你的耗时逻辑
    sleep(2);
    file_put_contents(&#39;/tmp/test.log&#39;, &#39;ok&#39;);
登入後複製

以上是PHP訪問結束如何繼續處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板