Heim > Backend-Entwicklung > PHP-Problem > So setzen Sie die Verarbeitung fort, nachdem der PHP-Zugriff beendet ist

So setzen Sie die Verarbeitung fort, nachdem der PHP-Zugriff beendet ist

(*-*)浩
Freigeben: 2023-02-26 20:26:01
Original
2254 Leute haben es durchsucht

Heute habe ich jemanden in Dewen gefragt, wie man mit PHP fortfährt, nachfolgenden Code auszuführen, nachdem der Browserzugriff abgeschlossen istEs ist sehr einfach, es in PHP zu implementieren. fpm-Umgebung. fastcgi_finish_request ist ausreichend. Wenn es sich um einen anderen Container handelt, kann der Sprung meiner Meinung nach nur durch die Ausgabe von Javascript an den Client und die anschließende Fortsetzung der Ausführung im Hintergrund erreicht werden.

So setzen Sie die Verarbeitung fort, nachdem der PHP-Zugriff beendet ist

Die Demo lautet wie folgt: PHP-FPM-Test ist verfügbar, Apache PHP-CGI wird nicht getestet, da keine Umgebung vorhanden ist. (Empfohlenes Lernen: PHP-Video-Tutorial)

<?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;);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo setzen Sie die Verarbeitung fort, nachdem der PHP-Zugriff beendet ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage