1: Introductie Apache - webserver, PHP - scripting, MySQL - databases

In deze instructie

Apache webserver

In het eerste deel van de les installeert iedereen apache webserver op zijn laptop. Op deze manier kan je simuleren dat je een server bent en je eigen gemaakte php websites testen op je eigen computer.

Apache heb je nodig om als webserver te kunnen draaien. Een webserver is een programma, dat http requests die binnenkomen via een bepaalde communicatiepoort (Apache gebruikt poort 80), afhandelt. Apache is ontwikkeld op een unix platform en is standaard aanwezig in een linux/unix operating systeem. In Windows is veelal Internet Information Server (IIS) geinstalleerd. Er is echter ook een Windows versie van Apache. Een webserver kan altijd samenwerken met een script verwerker (ook wel parser of interpretor genaamd). Zo werkt Apache samen met PHP (Pre Hypertext Processor). Apache herkent dit aan de extentie van het bestand welke wordt opgevraagd (bijv. index.php). Op de cmd server is Apache en PHP ook geinstalleerd.

Serverside-Clientside

Vorige lessen hebben we met javascript gewerkt. Javascript werkt als volgt:

Een website wordt eerst door jouw computer opgevraagd van de server waar deze is opslagen, dan wordt de website gelezen, je browser komt het javascript tegen en gaat het vervolgens uitvoeren.

Jij bent op dat moment de client en niet de server. Javascript wordt op de computer van de client uitgevoert, dit betekend dat javascirpt client-side is. PHP is server side, en wordt dus niet op jouw computer uit gevoerd, maar op de server. De reden hiervoor is onder andere veiligheid. PHP werkt als volgt:

Een website wordt eerst door jou computer opgevraagd van de server, de server ziet dat het om een php bestand gaat en gaat daarom eerst het bestand bekijken, hij ziet vervolgens het script en gaat het uitvoeren. Als de server klaar is verstuurd hij het resultaat naar jouw browser en jij ziet een html pagina.

Als je dus een PHP file hebt gemaakt in Dreamweaver (bijv. index.php) en je plaatst deze op de CMD server, dan zal deze ook verwerkt worden op de CMD server en niet op jou computer (client). De PHP parser gaat dan in het betreffende bestand op zoek naar bepaalde tags en verwerkt de code die daarin staat op de server. De broncode (source) van een PHPscript is dus NIET zichtbaar in de browser via view source), althans niet dat deel wat tussen de PHP tags staat vermeld.

Dit in tegenstelling tot javascript, wat wel lokaal op de client wordt verwerkt. Javascript staat altijd in een <script$gt; tag in een html pagina (bijv. index.htm) welke niet door de apache webserver als serverscript wordt herkend en welke in zijn geheel doorgestuurd wordt naar de client.

Wat is PHP ?

PHP is een programmeertaal ( script taal ). PHP wordt direkt in de HTML pagina's geïntegereerd en wordt geïnterpreteerd door de webserver. Aangezien PHP in de eerste plaats werd ontworpen voor het web, kan het enkel iets nuttigs doen voor webapplicaties. PHP heeft geen overbodige bagage, wat wel het geval is voor enkele concurerende programmeertalen.

Wie heeft PHP uitgevonden?

PHP werd uitgevonden door de Canadees van Deense afkomst Rasmus Lerdorf. In de herfst van 1994 wou Rasmus ontdekken hoe het mogelijk zou zijn om zijn applicaties via het web te publiceren. Hij schreef rap enkele server commando's die toelieten tellers en een gastenboek online te plaatsen. De Personal Home Page Tools waren geboren.

Formulieren zijn één van de belangrijkste elementen op het web, en gedurende het jaar 1995 schreef Rasmus dan ook een Form Interpreter om formulieren te beheren via het web.

Hij publiceerde zijn development omgeving gratis op het web, en de webdeveloppers gemeenschap begon zich te interesseren voor PHP/FI en een werkgroep rond PHP/FI werd algauw gevormd.

PHP is onderstussen al aan versie 5 toe en de ontwikkeling ervan wordt verder afgehandeld door andere personen dan Rasmus Lerdorf. PHP staat nu voor Hypertext Preprocessor.

Hoe functioneert PHP ?

Zoals reeds gezegd, PHP wordt geïnterpreteerd door de webserver. De browser stuurt een HTTP verzoek naar de webserver ( opvragen van een pagina ). De webserver reageert op het verzoek, leest de PHP webpagina, voert het PHP script uit, en stuurt dan het resultaat terug naar de browser.

Omdat PHP wordt uitgevoerd door de server, zal de client nooit de PHP code te zien krijgen, daar hij het uiteindelijke resultaat voorgeschoteld krijgt als een webpagina in HTML formaat.

Wat is het vershil tussen Javascript en PHP ?

Jullie kennen al wat Javascript. Javascript wordt rechtstreeks in de HTML code geïntegreerd. De gebruiker zal steeds de code te zien krijgen als tekst in de browser als hij de source van de pagina opvraagt.

Waarom? Javascript wordt pas geïnterpreteerd nadat je de pagina opgevraagd hebt. Javascript wordt uitgevoerd door de client en niet door de server. Enkele van de gekende minpunten hiervan zijn : wat javascript betreft heeft iedere browser zo zijn eigen eigenaardigheden, en voor hen die niet over javascript beschikken, niets werkt van de code.

De voordelen van PHP zijn evident. Als het werkt, werkt het in iedere browser. Enige voorwaarde is, dat je provider PHP ondersteunt op de server waar je je serverpagina's op plaatst.

Wat kost PHP ?

Helemaal niets ! PHP werd in open-source geplaatst, waardoor de broncode voor iedereen vrij beschikbaar is. Als je een Linux of andere unix distributie gebruikt, is de kans groot dat PHP al met je systeem meegeleverd is. De laatste versie kun je steeds downloaden op http://www.php.net.

Wat kun je met PHP doen ?

PHP heeft zowat alles ter beschikking om volgende zaken te maken:

Installatie

Mac OSX

Je kan redelijk eenvoudig naar de volgende site gaan: http://www.mamp.info/en. Je kan ook gebruik maken van de al in ge gebouwde apache en php engine al bij os1 10.5 zit meegeleverd. (upgrades zijn lastig). Hiervoor moet je even onder de motorkap kijken van macos X.

Open de terminal en voer de volgende commando's uit:

sudo nano /private/etc/apache2/httpd.conf

Voer wachtwoord in.. en je komt in een soort primitieve editor uit en zoek met ctrl W: php in de tekst: Daarna verwijder je de # in de tekst van de bereffende regel

#LoadModule php5_module  libexec/apache2/libphp5.so
LoadModule php5_module  libexec/apache2/libphp5.so

ctrl O voor bewaar het bestand. Je gaat naar system prefs en start webdeling en voila je heb apache met php draaien.

je kan je bestanden in je Sites map plaatsen voor het gebruik van php.

Windows

Installeer WAMP en de boel werkt!