ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abort Legt fest, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll

Beschreibung

ignore_user_abort(?bool $enable = null): int

Setzt den Wert dafür, ob der Abbruch einer Client-Verbindung die weitere Abarbeitung eines Skripts beenden soll.

Wird PHP als Kommondozeilen-Skript ausgeführt, und das TTY des Skripts wird entfernt ohne dass das Skript terminiert wurde, dann stirbt das Skript beim nächsten Versuch etwas zu schreiben, außer wenn enable auf true gesetzt ist.

Parameter-Liste

enable

Sofern dieser Parameter angegeben wird und nicht null ist, überschreibt diese Funktion die aktuelle Einstellung von ignore_user_abort mit dem übergebenen enable. Andernfalls gibt die Funktion nur die aktuelle Einstellung zurück, ohne sie zu verändern.

Rückgabewerte

Gibt das vorhergehende Setting als Ganzzahl (Integer) zurück.

Changelog

Version Beschreibung
8.0.0 enable ist nun ein Nullable-Typ.

Beispiele

Beispiel #1 Ein ignore_user_abort()-Beispiel

<?php
// Ignoriere Abbruch durch den Benutzer und erlaube dem Skript weiterzulaufen
ignore_user_abort(true);
set_time_limit(0);

echo 
'Teste Connectionhandling in PHP';

// Lasse eine sinnfreie Schleife laufen, die uns irgendwann
// hoffentlich von der Seite wegklicken oder den "Stop"-Button
// betätigen lässt
while(1)
{
    
// Schlug die Verbindung fehl?
    
if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    
// 10 Sekunden warten
    
sleep(10);
}

// Wird dieser Punkt erreicht, wurde das 'break'
// von einem Punkt innerhalb der while-Schleife getriggert

// Somit können wir hier ein Log schreiben oder andere Aufgaben
// ausführen, die nicht davon abhängig sind, ob der Browser des
// Benutzers noch eine stehende Verbindung zum Server hat
?>

Anmerkungen

PHP wird nicht herausfinden, ob ein Benutzer die Verbindung abgebrochen hat, bevor es nicht versucht, Informationen an den Client zu senden. Die einfache Verwendung eines echo-Statements ist keine Garantie dafür, dass eine Information übertragen wurde, lesen Sie daher auch die Dokumentation zu flush().

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

PHP Prepared statements

Hi Frosch, dein Code-Ansatz ist grundsätzlich richtig, aber für viele Parameter ist die Named-Variante (:name) oft übersichtlicher als die ?-Pl ...

Geschrieben von lunahart63 am 21.11.2025 05:58:10
Forum: PHP Developer Forum
Überhang in MySql Datenbank

Frage: wenn ich "Optimize table tabellenname" ausführe wird aber inhaltlich nichts in der Tabelle verändert oder? Nein

Geschrieben von scatello am 19.11.2025 13:44:10
Forum: SQL / Datenbanken
Überhang in MySql Datenbank

OK, danke für die Antwort. Frage: wenn ich "Optimize table tabellenname" ausführe wird aber inhaltlich nichts in der Tabelle verändert oder?

Geschrieben von Falke07 am 19.11.2025 12:57:09
Forum: SQL / Datenbanken
Überhang in MySql Datenbank

Zu 1: Ein "Optimize table tabellenname" entfernt den Überhang Zu 2: Der Überhang kann beim Löschen von Datensätzen entstehen und dadurch kann ...

Geschrieben von scatello am 19.11.2025 12:47:25
Forum: SQL / Datenbanken