Så att börja Sessions i PHP med en föregås fil

May 27

För att kunna använda sessioner, måste du ringa session_start () funktionen på varje sida som kommer att använda sessioner. Detta kan vara besvärligt, särskilt om du försöker att slå sessioner på flera PHP-program. Du kan använda en auto_prepend_file att ringa session_start och därvid, behöver du inte ha ändra några andra filer!

I följande övning skapar du två filer: en som kommer att vara huvudfilen och en annan som innehåller en prepended funktion för att starta en session. Innan du utför denna övning ska du se till att .htaccess filer fungerar eller att du kan ändra din webbservern Apache konfiguration.

Var noga med att starta om Apache om du gör en ändring i konfigurationen.

Inom .htaccess filen för dokumentet rot, placera följande kod:

php_value auto_prepend_file "prepend.php"

Alternativt kan du lägga till den linjen inom <Directory> strof i Apache konfiguration för din webbserver för dokumentet rot. Till exempel, om ditt dokument rot är "/ var / www" du kan lägga till att raden efter <Directory "/ var / www"> direktivet och före den avslutande </ Directory> linje i Apache config.

Öppna din textredigerare och skapa en ny tom fil. Inom filen, placera följande kod:

<? Php

if (isset ($ _ SESSION)) {
print "Session har börjat!";
} Else {
print "Session har inte börjat";
}

?>

Spara filen som session.php inom dokumentroten.

Öppna en webbläsare och peka på http: // localhost /session.php. Du bör se en sida som denna.

Så att börja Sessions i PHP med en föregås fil

Minimera webbläsaren och skapa en ny fil i din textredigerare. Inom den filen placera följande kod:

<? Php

session_start ();

?>

Spara filen som prepend.php i dokumentet roten.

Inom din webbläsare, ladda om session.php filen eller gå till http: // localhost /session.php att visa session.php filen du skapade tidigare. Du bör nu se en sida som denna.

Så att börja Sessions i PHP med en föregås fil

Om du får en tom sida eller ett fel visas via webbläsaren, då föregås filen inte hittades. Kontrollera enkla saker, som stavningen av filen (prepend.php). Kontrollera också att se till att den fil du ringde med direktivet auto_prepend_file är där det ska vara, i dokumentet roten om det är hur din webbserver är konfigurerad.

Om du får en sida som fortfarande säger "Session har inte startat," så finns det en chans att Apache ditt auto_prepend_file direktivet inte ser alls. Om du har placerat den i en .htaccess fil i dokumentet rot, måste du se till att Apache läser den .htaccess filen. Fortsätt läsa eller kolla med ditt webbhotell leverantör för att se om .htaccess filer tillåts.

Vissa webbserverkonfigurationer inte tillåter .htaccess filer. Du kan konfigurera Apache att låta dem genom att ändra Allowoverride-direktivet till Allt för den katalog som du vill läsa .htaccess-filen (i det här fallet, dokumentroten). Direktivet bör se ut så här:

Allowoverride All

Föregås filer kan vara otro hjälpare, men de kan också ibland orsaka förvirring. Till exempel, om du inte är säker på varför ett program gör något, en auto-föregås fil kan ibland lägga till denna förvirring eftersom den laddar så många andra filer och funktioner - lägga gott om utrymme för misstag.

Dessutom måste varje begäran nu använda den automatiska föregås fil, vilket kan orsaka prestandaproblem om du kedja för många krävs och ingår filer från den föregås filen. Med det sagt, fördelarna överväger oftast nackdelarna för föregås filer.