Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
PHP este
un limbaj interpretat, adica un program php este executat direct de
interpretorul PHP care este un fisier binar (numit php.exe sau php-win.exe pe
Windows si php pe Unix).
Programele PHP pot fi rulate in doua moduri:
Ca si programatori web ne intereseaza inspecial a doua optiune, executarea programului PHP prin intermediul serverului web.
Nota
|
Prescurtarea LAMP este folosita in mod frecvent pentru
combinatia Linux + Apache + Mysql + PHP. PrescurtareaWAMP este folosita pentru Windows +
Apache + Mysql + PHP. In productie, (adica in conditii reale, nu de test)
site-ul web va functiona pe un server Unix/Linux ce va avea |
Interactiunea dintre PHP, Apache, Mysql si clientul web
Voi lua ca exemplu
accesarea adresei https://www.invata-online.ro/courses.php pentru explicarea
modului in care aceste aplicatii interactioneaza.
Pasul 1
Utilizatorul tasteaza in browser adresa https://www.invata-online.ro/courses.php sau da click pe un link ce trimite
browserul la aceasta adresa. Aceasta adresa, numita URL, este formata din 3
parti:
Pasul
2
Browserul (clientul web), prin intermediul unui server DNS afla adresa IP a
serverului www.invata-online.ro si trimite acestui server web o cerere
HTTP ce solicita resursa /courses.php de pe server.
Pasul 3
Serverul web primeste cererea HTTP si determina locatia fisierului respectiv pe
harddisk. Acest lucru se realizeaza prin configurarea optiunii DocumentRoot sau prin configurarea de alias-uri.
DocumentRoot indica
locatia de pe harddiskul serverului in care se afla si din care sunt partajate
paginile web. Astfel, calea/courses.php este transformata de server in c:wwwcourses.php,
daca DocumentRoot este setat cu valoarea c:www.
Pasul 4
Extensia fisierului cerut fiind .php, serverul web va trimite continutul
fisierului .php catre interpretorul PHP pentru a fi executat.
Pasul 5
Interpretorul PHP citeste sursa fisierului .php, si construieste output-ul
final, ce constituie sursa paginii web ce va fi trimisa browserului. La aceasta
etapa, daca exista cereri catre serverul de baze de date, interpretorul PHP
comunica cu serverul mysql pentru interogarea bazei de date si folosirea
datelor obtinute astfel in program.
Pasul 6
Output-ul generat de interpretorul .php este trimis serverului web, si
reprezinta sursa finala a paginii web. Serverul web trimite sursa paginii catre
clientul web (browser).
Pasul 7
Browserul primeste in final sursa paginii web (cod html, css si javascript) si
o formateaza pentru a fi afisata utilizatorului.
Nota
|
Atat alias-urile cat si DocumentRoot sunt setari in fisierul de
configurare al serverului web. In cazul Apache-ului, fisierul de configurare
se numeste httpd.conf. Alias-urile reprezinta o corespondenta directa
intre cererea unei resurse (ex: /courses.php) si calea resursei respective in
sistemul de fisiere |
Nota
|
Pentru a testa o pagina .php in browser, pe calculatorul local, intotdeauna trebuie sa folosim url-ul prefixat cu https:// , ce conduce cererea noastra catre serverul web (Exemplu: https://localhost/project/index.php). In aplicatiile de retea (deci si penru serverul web), localhost inseamna calculatorul curent si se traduce in adresa ip 127.0.0.1. Deschiderea fisierului direct in browser este gresita pentru ca in acest fel nu va ajunge la serverul web si deci nici la interpretorul php. |
Nota
|
Codul PHP nu ajunge catre browserul web, pentru ca el este executat pe server, iar serverul web trimite clientului web doar rezulatul executiei, adica sursa HTML a paginii web. Deci, spre deosebire de html, css, si javascript, care sunt numite limbaje 'client-side' pentru ca sunt rulate de browser, php este 'server-side', fiind executat pe server. Daca in browser, in meniul View -> Page source, vezi cod php, inseamna ca e o problema, codul respectiv nu a fost executat de PHP. |
Copyright © 2024 - Toate drepturile rezervate