Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Php


Index » educatie » » informatica » Php
» Interactiunea dintre PHP, serverul Web si browser


Interactiunea dintre PHP, serverul Web si browser


Interactiunea dintre PHP, serverul Web si browser

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:

  • din linia de comanda prin apelarea interpretorului php avand ca argument scriptul de executat. Rezultatul executiei va fi afisat pe ecran:
  • cu ajutorul serverului web. Serverul web folosit in general pentru colaborarea cu interpretorul PHP este Apache. Este in prezent cel mai folosit server web, este un proiect open-source (ca si php si mysql), si este gratuit.
    Serverul web trebuie configurat astfel incat sa functioneze impreuna cu interpretorul PHP. Serverul web va fi configurat astfel incat va diferentia fisierele cu extensia .html fata de fisierele cu extensia .php astfel:
    - fisierele html le trimite direct catre browser (clientul web)
    - fisierele php le va trimite interpretorului php pentru a fi executate, si rezultatul executarii va fi trimis in final catre browser

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 suita Apache + PHP + Mysql instalata si configurata de un administrator de sistem. Orice pachet de gazduire pe Linux/Unix ofera aceasta solutie, deci nu trebuie sa te ocupi de acest lucru. Totusi, pentru cei interesati, configurarea LAMP este prezentata in cursul Linux Server Administration. Solutia WAMP este oferita de aplicatia WampServer si este prezentata in capitolul Instalare si configurare.

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:

  • https:// - reprezinta protocolul (setul de reguli) prin care clientul web comunica cu serverul web. Acest protocol se numeste HTTP.
  • www.invata-online.ro - reprezinta numele serverului la care clientul trebuie sa se conecteze
  • /courses.php - indica locatia resursei cautata de client pe acel server (poate fi si mai complicata, gen: /courses/web1.php)

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
(ex: c:projectsmyprojectcourses.php)

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.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate