Hur fungerar PHP?

Om du någon gång har högerklickat på en hemsida och tittat på källkoden för en hemsida har du kanske funderat på hur allt det här fungerar egentligen? Källkoden kan för den oerfarne se väldigt rörig och ologisk ut, men det är den koden som webbläsaren tolkar och sedan ritar upp på din skärm. Hur PHP hänger ihop med allt detta ska vi titta på i den här artikeln.

Klient- och serverbaserade språk

Det finns, som du säkert känner till, en massa olika programmeringsspråk för webbutveckling och webbdesign: CSS, HTML, Javascript och PHP för att nämna några. Alla de här programmeringsspråken har en sak gemensamt och det är att de antingen är:

  • Klientbaserade eller
  • Serverbaserade

Klientbaserade språk

Av de vi nämnde ovan tillhör CSS, HTML och Javascript de klientbaserade språken. Det betyder att dessa språk bearbetas av klienten, dvs av webbläsaren. Ett exempel på en webbläsare är Google Chrome som lanserades 2008 och som alltså kan tolka de klientbaserade programmeringsspråken.

Serverbaserade språk

Som du säkert redan listat ut är PHP alltså ett serverbaserat programmeringsspråk. Då är det en server som istället tolkar koden. En server är egentligen bara en dator som är konfigurerad på ett särskilt sätt för att kunna hantera och tolka hemsidor. Därför kan du förstå att det krävs en massa datorer och en serverhall innehåller en massa datorer som helt enkelt är placerade under ett och samma tak.

Vad en webbserver behöver för att fungera

PHP är alltså ett serverbaserat programmeringsspråk som tolkas av servern. För att en server ska kunna fungera som webbserver behöver vissa program installeras på den, dessa är:

  • Apache
  • PHP
  • MySQL (eller annan databasmjukvara)

Det finns så klart andra sätt att få en server att fungera, men konfigurationen här nedan är den absolut mest vanliga. Servrar brukar köra med operativsystemet Linux och därför kallas hela denna konfiguration för LAMP:

  • L = Linux
  • A = Apache
  • M = MySQL
  • P = PHP

Kommunikationsvägen

Så vad händer när du till exempel besöker Google? Hur går kommunikationsvägen egentligen?

1. Webbläsaren – URL

Du skriver in en adress i webbläsaren, en så kallad URL, och trycker på enter för att sidan ska läsas in.

2. Namnserver

Adressen du skrev in skickas till en domännamnserver, omvandlas till en IP-adress och skickas tillbaka till din webbläsare.

3. Webbläsaren – IP

Webbläsaren får IP-adressen och vet nu vilken specifik server den ska kontakta. Alla servrar har en unik IP-adress. Det är som serverns eget personnummer så att man inte av misstag hamnar på fel server.

4. Apache

Det är Apache som tar emot frågan från din webbläsare. Webbläsaren berättar för Apache vad den är ute efter. Om du nu har besökt Google.com är det oftast i själva verket google.com/index.php du har besökt. Din webbläsare säger därmed åt Apache att den vill komma åt filen index.php hos Google. Apache söker igenom filregistret efter filen “index.php”. Eftersom filen har filändelsen “.php” skickar Apache vidare detta till PHP-programmet, för att se om filen innehåller PHP-kod som behöver bearbetas.

5. PHP-programmet

PHP-programmet bearbetar filen och kör den kod som finns i filen. Om det finns kopplingar till databaser skickas detta vidare till MySQL-programmet och databasen för att hämta- eller skriva- information. PHP-programmet tolkar sedan all information och skriver ut det som koden är skriven att göra. Allt skickas sedan tillbaka till Apache, bearbetat och klart.

6. Tillbaka till Apache

Datan som skickas tillbaka innehåller ingen PHP-kod alls längre, utan det har PHP-programmet tolkat och skrivit om till det programmeraren hade för avsikt med koden. Datan innehåller nu endast sådant som en webbläsare förstår, exempelvis HTML, CSS och Javascript. Informationen är nu redo att skickas tillbaka till webbläsaren.

7. Webbläsaren – visar innehåll

Webbläsaren tar emot datan som har bearbetats i servern och den kan nu visa hemsidans innehåll.

Vad du kan göra med PHP

Så vad kan du göra med PHP? Du kan egentligen göra vad som helst med PHP. Du kan till exempel hämta information från formulär och lagra denna säkert i databaser. Du kan skapa dynamiskt innehåll på hemsidor, skicka och ta emot cookies. Endast fantasin sätter gränserna för vad du kan använda PHP till.