ignore_user_abort în PHP

Stabilește dacă scriptul continuă să ruleze după ce vizitatorul închide pagina.

Sintaxă
ignore_user_abort(?bool $enable = null): int

Ce face ignore_user_abort

Implicit, dacă vizitatorul închide pagina în timp ce scriptul rulează, PHP oprește scriptul la următoarea afișare. Cu ignore_user_abort(true), scriptul merge până la capăt. Este important pentru operații care nu trebuie lăsate la jumătate, de exemplu salvarea unei comenzi și trimiterea emailului de confirmare.

Fără parametru, funcția doar returnează setarea curentă.

Parametri

Parametru Descriere
$enable Opțional. true ca scriptul să continue, false ca să fie oprit.

Ce returnează

Setarea de dinainte de apel: 1 pornită, 0 oprită.

Exemple

Exemplul 1: Setarea veche și cea nouă

<?php
$veche = ignore_user_abort(true);

var_dump($veche);
var_dump(ignore_user_abort());

Rezultat

int(0)
int(1)

Greșeli frecvente

  • Pornești ignore_user_abort fără limită de timp într-un script care poate rula la nesfârșit. Procesul rămâne ocupat chiar dacă nimeni nu mai așteaptă. Păstrează o limită cu set_time_limit.

Comenzi înrudite

  • connection_aborted: Verifică dacă vizitatorul a închis pagina sau a apăsat Stop înainte ca scriptul să termine.
  • set_time_limit: Stabilește câte secunde poate rula scriptul înainte să fie oprit.
  • connection_status: Returnează starea conexiunii cu vizitatorul: normală, întreruptă sau expirată.