110 likes | 246 Views
Kom i gang med PHP. Mål. Installere Apache og PHP Konfigurasjon av Apache og PHP Forstå samspillet mellom Apache og PHP Kjenne til noen av innstillingene i konfigurasjonsfilen til PHP og hvordan de påvirker PHP kode. PHP arkitekturen. Zend Engine PHP-tolkeren En virtuell maskin PHP core
E N D
Kom i gang med PHP Webprogrammering (LO113A)
Mål • Installere Apache og PHP • Konfigurasjon av Apache og PHP • Forstå samspillet mellom Apache og PHP • Kjenne til noen av innstillingene i konfigurasjonsfilen til PHP og hvordan de påvirker PHP kode Webprogrammering (LO113A)
PHP arkitekturen • Zend Engine • PHP-tolkeren • En virtuell maskin • PHP core • Basis funksjonalitet • SAPI • Abstraksjonslaget for webservere Webprogrammering (LO113A)
Samspillet mellom Apache og PHP • Apache er bygget opp av moduler • Vanligst at PHP lastes og kjøres som en modul i Apache og fungerer som en “handler” Apache HTTP Server mod_php Webprogrammering (LO113A)
Gangen i en HTTP forespørsel • Skriver inn en URL i nettleseren • Apache skriver om URL til en fil eller en “handler” • En autentiseringfase sørger for gyldig tilgang • Resultatet sendes tilbake til klienten som rendrer det hele • En MIME-type sendes med resultatet slik at klienten vet hva han skal gjøre med resultatet (f.eks: text/html, image/png) Webprogrammering (LO113A)
Installasjon av Apache på Windows • Last ned ønsket versjon av Apache (f.eks 2.0.x) fra Webprogrammering (LO113A)http://httpd.apache.org • Start installasjonsprogrammet og sett vertsnavn til localhost når du blir spurt • Start bin/Apache.exe • Sjekk Webprogrammering (LO113A)http://localhost i nettleseren for å sjekke om installasjonen gikk bra Webprogrammering (LO113A)
Installasjon av PHP på Windows • Last ned siste versjon av PHP fra Webprogrammering (LO113A)http://www.php.net (ZIP-fil, ikke installer) • Pakk ut til Webprogrammering (LO113A):\php • Endre php.ini-recommended til php.ini Webprogrammering (LO113A)
Konfigurasjon av Apache (httpd.conf) • Endre DocumentRoot i conf/httpd.conf til en mappe som skal tjene som rot-katalog for denne webserveren • Vanlig å legge til index.php på DirectoryIndex • Koble PHP modulen til Apache og få den til å kjøre alle PHP-script: LoadModule php5_module “C:\php\php5apache2.dll” AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Webprogrammering (LO113A)
Konfigurasjon av PHP(php.ini) • display_errors = On • Feilmeldinger vises direkte i nettleseren • register_globals = Off • GET, POST, Cookie og miljøvariable blir ikke registrert direkte som PHP variable (f.eks $brukernavn) • Skummelt å slå dette på av sikkerhetsmessige grunner • Superglobals benyttes istedet (mer om dette senere) Webprogrammering (LO113A)
Konfigurasjon av PHP(php.ini) • error_reporting = E_ALL • Viser alle feil i tillegg til advarsler om typiske kodefeil • max_execution_time = 30 • Totalt antall sekunder et script kan kjøre • max_input_time = 60 • Totalt antall sekunder PHP kan bruke på å tolke et script • memory_limit = 8M • Maksimal grense for hvor mye minne (RAM) et script kan benytte Webprogrammering (LO113A)
PHP vs. JavaScript • Hvert sitt bruksområde • JavaScript – kjøres i klienten (nettleseren) • PHP – kjøres på webserveren • Ofte nyttig med en kobling • JavaScript - dynamikk i brukergrensesnittet • PHP – henting eller sending av informasjon Webprogrammering (LO113A)