Het sessieprobleem

Dergelijke importeerscripts moet je uiteraard beveiligen en dit wordt doorgaans via de sessie geregeld. Echter is het gebruik van Sessie ook een enorm bottleneck wanneer je tijdens de import andere taken wil uitvoeren en met name bij grotere scripts kan dat nog wel eens vervelend zijn. Ik zal hieronder even kort uitleggen wat het probleem is.

PHP schrijft sessie gegevens standaard weg naar een bestand. met session_start() wordt dat bestand ingelezen en zo nodig nieuw aangemaakt. Om corruptie te voorkomen wordt het bestand gelocked zodat andere scripts het bestand niet in kunnen zien of bewerken. Dit betekend concreet dat wanneer een gebruiker je webapplicatie opent via een tweede tabblad, de pagina niet geladen zal worden tot dat je importeerscript klaar is met het verwerken van de data.

Gelukkig hebben we doorgaans de sessie niet meer nodig op het moment dat het script begint met uitlezen en verwerken van de data en kunnen we dus doormiddel van session_write_close() het bestand vrijgeven. Zodoende kunnen andere scripts gedraaid worden terwijl je importeerscript bezig is.

Een andere oplossing, welke misschien wat ingewikkelder is, is een andere session save handler te gebruiken zoals een database. Hoe je dit moet doen ga ik verder niet op in.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Upload of externe database uitlezen
  3. Het importeren
  4. Het sessieprobleem
  5. De gebruikers interface

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.