Kirjautuminen

Haku

Tehtävät

Koodit: PHP: Skriptin suoritus loppuun (ignore_user_abort)

Kirjoittaja: Metabolix

Kirjoitettu: 09.01.2015 – 09.01.2015

Tagit: koodi näytille, vinkki

Yleensä PHP-skriptin suoritus keskeytetään, jos käyttäjä sulkee selaimen tai muuten keskeyttää sivun latautumisen. Tähän liittyy yksi pulma: jos sivun on tarkoitus tehdä jokin yhtenäinen toiminto, suoritus saattaa jäädä puolitiehen, jolloin pahimmillaan palvelimella oleva data vaurioituu. Jos skripti esimerkiksi lukee tiedoston, muuttaa tietoa ja alkaa sitten kirjoittaa tiedostoa uudestaan, skriptin keskeytyksestä voi seurata, että tiedosto on tyhjä tai keskeneräinen.

PHP:n asetuksella ignore_user_abort voi määrätä, että PHP-koodin suoritusta ei keskeytetä. Asetuksen voi lisätä PHP:n asetustiedostoon tai asettaa suorituksen aikana:

// Kielletään keskeyttäminen.
ignore_user_abort(true);
// Tehdään tärkeitä asioita.
file_put_contents("tiedosto.txt", $data);
// Sallitaan taas keskeyttäminen.
ignore_user_abort(false);

Asetuksesta on hyötyä vain silloin, kun jokin toiminto voi jäädä haitallisesti kesken. Jos sivu ei muokkaa mitään tietoja vaan vain lukee niitä, asetusta ei yleensä kannata käyttää: sivusto voi toimia nopeammin, kun keskeytyneiden sivunlatausten käsittely lopetetaan heti.

Kommentit

Le-Co-Las [30.01.2015 13:47:44]

#

Kiitos tästä!

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta