ALTE DOCUMENTE
|
||||||
Instalare si initiere in PHP
1.Introducere
PHP, acronim care provine din "PHP: Hypertext Preprocessor",
este un limbaj de scripting utilizat pe scara larga, realizat si
distribuit īn sistem Open Source, care este special realizat pentru a dezvolta
aplicatii web, prin integrarea codului PHP īn documente HTML. Sintaxa sa provine din C, Java si Perl si este usor
de īnvatat. Scopul principal al limbajului este
acela de a scrie rapid pagini web dinamice, dar cu PHP se pot realiza mult mai
multe.
Pentru ultimele distributii sau documentatii php puteti apela
la site-ul https://www.php.net . De
asemenea exista si un manual php tradus partial in romana la adresa https://www.php.net/docs.php
de unde il puteti extrage in mai multe formate (pdf,html,chm)
sau vizualiza online.
2.Istorie
Prima versiune de PHP s-a numit PHP/FI. Ea a fost creata de Rasmus Lerdorf in 1995. Initial versiunea continea o colectie simpla de scripturi Perl scrisa pentru considerente proprii si care se numea 'Personal Home Page Tools'. Cu timpul Rasmus a dezvoltat acest pachet adaugand cat mai multe facilitati, cum ar fi comunicarea cu bazele de date, ceea ce ducea la dezvoltarea unor aplicatii web dinamice, simple dar eficiente. Rasmus a hotarat sa faca publice sursele PHP/FI pentru ca fiecare sa beneficieze de avantajele lor si pentru a imbunatati codul. PHP/FI (Personal Home Page / Forms Interpreter) avea functionalitatea codului PHP din ziua de azi. Avea variabile ca in Perl, interpretare de formulare HTML, cod HTML integrat in sintaxe. Insusi sintaxa era similara cu cea din Perl, insa mult mai limitata, simpla si intr-un fel inconsistenta.
In 1997 apare PHP/FI 2.0,
si deja incepe sa castige in popularitate, un grup de cateva sute de
utilizatori din intreaga lume deja se aratau interesati de acest proiect iar
aproximativ 50.000 domenii aveau instalat PHP (ceea ce insemna 1% din totalul
domeniilor de pe Internet la vremea aceea). Cu toate ca un
grup restrans de persoane participau la development, totusi munca principala
era facuta tot de un singur om (Rasmus Lerdorf).
PHP/FI 2.0 a fost lansat oficial in Noiembrie 1997, dupa o lunga perioada de
releas-uri beta. La scurt timp isi fac aparitia si primele versiuni alpha de
PHP 3.0.
PHP 3.0 este prima vesiune care era asemanatoare cu veriunile din zilele noastre. A fost creat si dezvoltat de Andi Gutmans si Zeev Suraski in 1997 care au rescris complet codul dupa ce si-au dat seama ca PHP/FI 2.0 nu putea face fata unei aplicatii eCommerce la care ei lucrau la un proiect pentru universitate. Unindu-si eforturile cei doi au hotarat sa participe la developmentul PHP si sa creeze PHP 3.0
Una dintre cele mai mari proprietati ale PHP 3.0 era extensibilitatea. Acest lucru a atras foarte multi developeri care au contribuit cu noi module (comunicarea cu majoritatea tipurilor de baze de date, protocoale, API-uri). Un alt element cheie in PHP 3.0 a fost suportul pentru sintaxa orientata pe obiect care era in acest fel mult mai consistenta si flexibila.
Noul limbaj a fost lansat sub un nume nou, care inlocuia ideea de aplicatie cu uz personal din PHP/FI 2.0 si aducea una mai mare si disponibila tuturor, la o scara mai mare: PHP: Hypertext Preprocessor.
La sfarsitul anului 1998, PHP se dezvoltase foarte mult, deja existau rapoarte care estimau zeci de mii de utilizatori si sute de mii de site-uri web care rulau PHP. In acest moment PHP constituia 10% din potentialul web al Internetului la vremea aceea.
PHP 3.0 a fost lansat pe piata oficial in Iunie 1998 dupa ce petrecuse 9 luni de testing public.In iarna lui 1998 la foarte scurt timp dupa PHP 3.0 a fost lansa, Andi Gutmans si Zeev Suraski au inceput sa rescrie codul PHP. Scopurile principale acum erau de a imbunatati performanta aplicatiilor mai complexe si de a extinde modularitatea codului PHP.
Noul engine a fost numit 'Zend Engine' (compus din numele Zeev si Andi) iar acesta putea face fata aplicatiilor complexe cu succes. Acesta a fost prezentat pentru prima oara la mijlocul anului 1999. PHP 4.0 se baza pe acest engine care impreuna cu mai multe addonuri si imbunatatiri a fost lansat in Mai 2000 la aproape 2 ani de la predecesorul sau PHP 3.0.
Noua versiune includea suport pentru majoritatea platformelor si serverelor web, sesiuni http, output buffering, moduri mai securizate de a manipula input-urile userilor, etc. PHP 4 este in prezent cea mai stabila versiune de PHP. Deja s-a inceput developmentul la PHP 5.0 din care au fost facute publice cateva versiuni alpha.
In prezent PHP este folosit de sute de mii de programatori web si cateva milioane de site-uri care il au instalat (estimari de 20% din domeniile de pe Internet existente in prezent). PHP 5.0 va include noua versiune a noului engine Zend Engine 2.0.
3.Instalare
Avand in vedere extensibilitatea PHP-ului, de care am vorbit mai sus, acesta poate fi instalat pe o mare varietate de platforme fie ca sunt de tip Unix, Microsoft, Sun, etc.
Vom discuta pe scurt despre instalarea pe platformele de tip Linux si Microsoft caci ele sunt cele mai utilizate de catre enduseri.
a). Instalarea pe Windows (metoda avansata, pas cu pas)
In primul rand aveti nevoie de un server web. Cel mai recomandat pentru toate platformele este Apache https://httpd.apache.org , dar in functie de situatie puteti alege IIS, PWS, nuSphere, OmniHTTPd, etc.
Vom folosi Apache pe Windows atunci vom extrage ultima versiune 'apache_x.x.xx-win32-x86-no_src.msi' de la sectiunea Downloads.
Rulati aplicatia dati 'Next' pana screenul cu Server Information. Presupunand ca rulati apache pe calculatorul propriu si pentru uz propriu veti completa datele astfel:
Network domain: localhost
Server name: localhost
Administrators email: [email protected]
Install Apache HTTP Server programs and shortcut to: recomandat sa selectati 'Run as a service for all users' (presupunand ca nimeni nu mai are acces fizic la calculatorul dumneavoastra).
Dupa aceasta veti fi introdus in ecranul 'Setup Type' si aveti doua optiuni 'Complete' sau 'Custom'. Va sugerez daca sunteti un utilizator incepator sa selectati Complete pentru a nu exista probleme. Urmeaza ecranul 'Destination Folder' care este bine sa fie lasat cel default adica C:\Program Files\Apache Group Dupa aceasta apasati inca o data Next si apoi Install. Instalarea ar trebui sa ruleze fara nici o problema.
Din meniul Start uitati-va in Programs Apache HTTP Server . Observati linkurile catre documentatii si catre ajutor rapid si 3 foldere cu linkuri catre Configurarea si testarea configurarii, Rulare/Oprire/Restart server, Log-urile serverului (acces.log si error.log). !Atentie! acestea din urma sunt foarte importante si ajuta foarte mult la rezolvarea unor probleme de configurare deoarece ele dezvaluie problema si cauza ei.
Lasam de-o parte serverul Apache si ne vom orienta dupa ultima dar si cea mai stabila versiune de PHP pentru Windows de pe https://www.php.net/downloads.php si vom extrage 'php-x.x.x-package.exe'
Rulam executabilul, ne vom lovi automat de screenul 'Instalation type' unde avem doua optiuni 'Standard' si 'Advanced'. Este recomandat selectarea instalarii Standard dupa care vom fi intrebati despre folderul in care vrem sa instalam PHP. Acest lucru este oarecum indiferent insa pentru comoditate vom instala PHP in acelasi folder group cu Apache adica in C:\Program Files\Apache Group\PHP . Click next, si apare screen-ul cu 'Server Type'. Avand in vedere ca mai inainte am instalat Apache este logic ca sa selectam optiunea 'Apache'. Apare ultimul screen cu mesajul 'You are ready to install PHP x.x.xx' dupa care click pe Install. Instalarea trebuie sa decurga fara probleme, la sfarsit veti avea parte de un mesaj insa care va va instiinta ca inca nu exista un soft care sa configureze automat Apache si PHP ,instalate separat, impreuna si de aceea va trebui sa umblati singuri in httpd.conf (fisierul de configurare al serverului Apache).
Iata cum se face configurarea manuala Apache + PHP pe platformele de tip Windows:
Configurare PHP - vom edita fisierul 'php.ini'
-in primul rand ne asiguram ca DLL-urile (php4apache.dll, php4ts.dll - care este folosit tot timpul) necesare rularii PHP sunt regasite de catre Windows. Pentru a face acest lucru posibil ne asiguram ca ele exista in Windows/System (WINNT/System) sau Windows/System32 sau ca ele exista in acelasi director cu php.exe (in cazul de fata in C:\Program Files\Apache Group\PHP)
-php4ts.dll este cautat in urmatoarea ordine:
1. in acelasi director cu apache.exe
2. in acelasi director cu php4apache.dll
3. in directoarele din Windows de mai sus
Concluzie este bine sa ai ambele DLL-uri in acelasi director.
-in directorul Windows vei gasi un fisier numit php.ini care trebuie editat. Deschide acest fisier cu Notepad.
In continuare voi descrie pe rand modificarile ce trebuie facute:
1.Cauta 'extension_dir' si schimba setarile directorului catre calea unde ai instala PHP, in cazul de fata in "C:\Program Files\Apache Group\PHP".
2.Cauta 'doc_root' si schimba setarile cu calea catre directorul unde este instalat Apache. In cazul de fata "C:\Program Files\Apache Group\Apache".
3.Acest pas nu este obligatoriu. Cautati 'extension=php_' . Veti observa o lista cu extensii php. Puteti decomenta liniile pentru care doriti sa activati extensia respectiva. Va recomand sa cititi documentatia de instalare cu care vine PHP cu privire la extensiile pentru Windows.
Recomand ca mai intai sa rulati Apache si PHP cu succes cu minim de efort si apoi sa luati in considerare extensiile sau alte module.
Salvati fisierul php.ini.
Configurare Apache - vom edita fisierul httpd.conf
Deschide httpd.conf cu Notepad si adauga urmatoarele linii:
#Inceput configurare Apache + PHP
LoadModule php4_module C:/Program Files/Apache Group/PHP/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
#Sfarsit configurare Apache + PHP
Nota: noile versiuni de Apache nu mai au nevoie de directiva 'AddModule'.
Observatie: cei care au fost atenti au observat ca am folosit doua tipuri de 'slash-uri' cand am editat httpd.conf . Retineti ca acesta poate accepta ambele tipuri de slash de exemplu: C:/Program Files\Apache Group\sapi/php4apache.dll
Pentru developeri: este important de stiut ca daca adaugati urmatoarea linie in httpd.conf veti obtine sintax highlight la fisierele care se termina cu extensia .phps :
AddType application/x-httpd-php-source .phps
Acest procedeu este foarte bun pentru debugging online. De asemenea acest procedeu se poate efectua si printr-un fisier .htaccess (vezi: "Ghid utilizare .htaccess" - Zamolxe -=thE_Deton8er=- (Team 1337))
Salvati noul fisier httpd.conf.
Felicitari! Acum sunteti gata sa rulati Apache si PHP impreuna!
Probleme frecvente de instalare
-pot
aparea pe platformele cu tehnologie NT unde un anume
user (cu anume privilegii) nu poate avea acces la directorul Windows.
-apar des atunci cand PHP ruleaza cu IIS sau PWS (Personal
Web Server)
-paginile cu extensia .php sunt goale. Verificati din nou configuratia
serverului.
-paginile cu extensia .php dau mesaje de eroare 500. Browse catre directorul care contine php.exe, rulati din command
prompt "php.exe -i" (fara ghilimele). Daca exista probleme inseamna ca va vor aparea erori explicite pe ecran si veti sti ce sa
faceti. Daca insa pe ecran apar multe taguri html (echivalentul outputului
functiei phpinfo() in html) atunci totul este in
regula si trebuie verificata inca o data configuratia serverului.
b). Instalarea pe Windows (metoda usoara
folosind installation kits)
Sunt sigur multi dintre voi nu au rabdarea nici timpul sa instaleze Apache si PHP (eventual si MySQL) pe Windows prin metoda grea, de aceea exista pentru voi solutia salvatoare.
Nota: totusi mai tarziu daca veti rula un server online va trebui sa optati pentru varianta manuala fie ca sunteti pe windows sau pe unix. Este riscant sa aveti incredere in installere precompilate atunci cand le rulati online, de aceea trebuie sa tineti bine minte ca cele descrise mai sus si in continuare sunt pentru uz personal sau 'offline'.
Exista mai multe pachete disponibile pe internet care ofera Apache cu PHP deja instalat si configurat. Dumneavoastra nu trebuie decat sa rulati un fisier gen 'setup.exe' si sa dati calea unde vreti sa fie instalat totul. Voi descrie numai cateva dintre aceste pachete care le-am testat si eu si pe care vi le recomand, restul le voi insira doar.
Alte installere pentru windows,linux,mac sunt: Cowpack (apache2+php4), Appserv (PHP+GD2+gif read suport+zend optimizer+zend encoder+ming module+xml+zip module+mysql+phpmyadmin), PHPstar (installer pentru 4DwebStar, include GD libs, PNG, JPEG, T1LIB, IMAP, gettext, cURL, Mcrypt, Zlib, FreeType2, XML, PostgreSQL, MySQL, EXIF, OpenSSL, FTP, Ldap, sendmail, CGI, fastCGI - ruleaza pe MacOS), Apache2Triad (Apache, PHP, MySQL, Perl, OpenSSL, Tcl, Python, + manuale + PHPnuke, PhpMyAdmin, Awstats), FoxServ (Apache+MySQL+PHP, MyPHPadmin, zend optimizer, Python, MySQL FrontEnd), Apache Friends XAMPP, e-novative PHP, IBserver, EasyServ, Phperl, BigApache, Apache ToolBox, Fox Installer, PHP EasyWindows Installer, Fast-Pitch, SpaceServer, WinServ, microHOST, eZ Publish Installer, Maya PHP Update, Abria MySQL Lite, Instant Web Server, Apache Compile Kit, Install Webserver, Sokkit, LSN-Webmail, MAPis.
Dupa cum puteti observa mai sus aveti o gramada de optiuni la indemana, alegeti-o pe ce-a mai lejera si sigura.
Probabil va intrebati cum este instalarea
pe linux. Ea este la fel ca in windows difera insa
pachetele apache si php. Pe scurt
1. Descarcati cea mai stabila versiune de Apache: lynx https://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
2. Dezarhivare: gzip -d httpd-2_0_NN.tar.gz sau tar xvf httpd-2_0_NN.tar
3. Configurare: ./configure --prefix=PREFIX
4. Compilare: make
5. Instalare: make install
6. Customizare: vi PREFIX/conf/httpd.conf
7. Testare server: PREFIX/bin/apachectl start
Pentru mai multe detalii consultati manualul Apache: https://httpd.apache.org/docs-project/
si manualul de instalare PHP: https://www.php.net/manual/ro/installation.php
respectiv https://www.php.net/manual/ro/configuration.php
. Nu uitati: este la fel ca in Windows, etapele insa
difera, acestea raportandu-se la sistemul de operare.
4.Editoare
Am
intalnit multe cazuri in care unii utilizatori pe internet sustineau ca fac
paginile HTML sau PHP in Notepad. Este foarte
adevarat, acest lucru este posibil, dar, inseamna sa
pierzi foarte mult timp in fata calculatorului si poti acumula mult stres de la
eventuale greseli in cod sau de la metodele grele de previzualizare. De aceea este recomandat sa folositi editoare specializate care va
ajuta cu doua mari proprietati: syntax
highlight si code completion.
Ce inseamna syntax highlight?
Atunci cand scrieti sau codati o pagina in HTML respectiv in
PHP utilizati diferite taguri, operatori de inceput-sfarsit de sintaxa,
variabile, etc. Editoarele de care vorbim vor semnala prezenta acestora
prin colorarea lor in culori specifice pentru o mai buna vizualizare si
organizare.
Ce inseamna code completion?
Completare automata de cod. Este o metoda excelenta mai ales pentru incepatori, si consta in faptul ca atunci cand ati inceput sa scrieti numele unei sintaxe, editorul isi da seama despre ce este vorba si va completeaza automat, sau va afiseaza un mesaj cu optiunile de completare (benefic in caz ca nu mai tineti minte sintaxa respectiva pe dinafara).
Probabil in acest moment va intrebati care sunt cele mai utilizate si folositoare editoare de HTML si PHP. Am creat o lista special pentru a veni in ajutorul vostru:
1. Dreamweaver - Un bun editor pentru HTML si PHP cu interfata grafica frumoasa si usor de utilizar. Totusi pentru PHP nu are suport full cum au alte editoare specializate, dar puteti gasi usor un addon in acest sens. Are unele probleme cu compatibilitatea HTML insa este preferatul meu si vi-l recomand cu cea mai mare incredere.
2. Quanta Plus - Unul dintre cele mai utilizate editoare web pe platformele Linux. Este excelent are syntax hightlight, code completion, plus multe alte 'features' care va fac viata usoara. Este gratuit!
3. Zend Development Enviroment - Mai bine de atat nu cred se poate. Un editor PHP complet, excelent pentru incepatori, cu referinte directe catre manual, debugger incorporat, generator php->html. Singura problema este ca are un pret foarte mare acest lucru facandu-l complet inaccesibil developilor mici.
Alte editoare de PHP sunt: PHPcoder, TurboPHP, PHPEd, PHPedit, tsWebEditor, Maguma Studio PHP, HTML-Kit, Dev-PHP IDE, PHP Debugger DBG, PHPmole, intelliCanvas Studio, K PHP Develop, xored::WebStudio, PHP Expert Editor, DzSoft PHP Editor, PHP Processor, Marc's PHP Debugger.
5.Utilizare
Okay! Presupunem
ca ati instalat totul, sau ca stiati si aveati deja instalat Apache si PHP.
Dupa cum am precizat la inceput, PHP este un limbaj
dinamic.
Ce inseamna 'limbaj dinamic'?
PHP comunica cu utilizatorul, el efectueaza dinamic operatii
iar continutul paginii se schimba in real time in functie de preferinte.
De exemplu in HTML nu putem modifica continutul unei pagini decat daca o
inlocuim cu una noua (cu continut nou). In PHP lucrurile stau mai simplu,
printr-un script putem introduce stiri pe pagina noastra sau putem modifica
titlul paginii, sau putem construi formulare dinamice pe care utlizatorii sa le foloseasca. Totusi acest lucru nu
inseamna ca ne debarasam de limbajul HTML, nicidecum. Cei care au
cunostinte HTML vor parcurge mai usor acest tutorial.
I. Sintaxa
Cu totii cunoastem
sintaxa de cod a limbajului HTML. Atunci cand
deschidem un tag, el trebuie automat inchis pentru a
nu genera erori (ex. <table>
si </table>). La fel si in PHP, cu ajutorul
tagurilor <?php
si respectiv ?>
vom putea delimita codul PHP de codul HTML. Este foarte
important de stiut pentru lejeritate se pot folosi mai simplu tagurile <?
si respectiv ?>, cu toate acestea metodele prin
care putem delimita tagurile PHP sunt mai multe, spre exemplu:
<script
language="php"> echo "Acesta este un text"; </script>
sau
<% echo
"Acesta este un text"; %> atunci cand este activata optiunea asp_tags din php.ini.
Este recomandat sa folositi primele taguri descrise in aceasta sectiune, adica:
<?php
...
cod php aici
...
?>
Ca
in orice limbaj de programare/scripting in PHP exista posibilitatea adaugarii
de comentarii sau note in codul sursa. Acestea nu sunt luate
in considerare de catre compilator, deci sunt ignorate. Iata cateva
exemple de comentarii acceptate in PHP /*
Comentariu in stil C */
// Comentariu in stil C++
# Comentariu in stil Bourne shell
Nota:
Pentru incepatori nu este recomandata folosirea comentariilor de tip shell.
O declaratie in PHP se incheie tot timpul cu punct si virgula ( ). Este ca si cum
am pleca de acasa si am inchis si
Exemplu de cod care foloseste un comentariu si o declaratie:
<?php
//mai jos va voi saluta
echo("Salut!");
?>
Prima
linie este comentariu si este ignorata de PHP a doua linie reprezinta o
declaratie care se incheie bineinteles cu
II. Inceput
Cum am precizat si in
sectiunea de instalare, vom testa configuratia PHP cu ajutorul functiei phpinfo( <?php
phpinfo();
?>
Salveaza acest cod ca info.php si ruleaza-l in browser. Vei
vedea o groaza de informatii despre configuratia PHP, tipul serverului, etc.
Probabil va veti intreba: Dar cum se poate ca dintr-o
linie de cod sa afisez atata text? Ei bine raspunsul este simplu, functia phpinfo( are variabilele deja declarate in
motorul PHP si de aceea nu este necesar decat sa o declaram o singura data.
Haideti sa incepem sa folosim PHP in stil clasic, prin a saluta
utilizatorii. Iata codul
<?php
echo("Salutare la toti cititorii");
?>
Salvati codul de mai sus ca salut.php si rulati-l in browser (ex. https://localhost/salut.php). Pe ecran apare
afisat textul 'Salutare la toti cititorii'. Acest lucru a fost posibil
datorita functiei echo( cu ajutorul careia de acum inainte vom afisa text pe
ecran.
Nota: pe langa functia echo( mai exista si print() care poate fi folosita in acelasi mod.
Observatie: echo( nu este totusi o functie, ea reprezinta un constructor de
limbaj dar pentru usurinta exprimarii o vom numi functie. O dovada buna in
sensul ca nu este functie este aceea ca nu suntem
nevoiti sa folosim paranteze. Sintaxa echo "Salutare la toti cititorii"; este de asemenea acceptata.
Haideti sa ne jucam un
pic cu aceasta functie, pentru ca ea va fi folosita foarte frecvent de-a lungul
acestui tutorial si sunt sigur ca o veti folosi des in scripturile
dumneavoastra:
<?php
echo("Salut");
echo("Numele meu este");
echo("Popescu Ion");
?>
Salveaza codul de mai sus ca numelemeu.php si ruleaza-l in browser. Veti
observa ca in ciuda faptului ca am scris textul pe mai
multe linii, el va fi afisat in browser pe o singura linie. Fapt care evident nu
ne convine, asa ca vom apela la tagul <br> din HTML:
<?php
echo("Salut<br>");
echo("Numele meu este<br>");
echo("Popescu Ion");
?>
Acum textul va aparea pe 3 linii separate.
Probabil veti zice: 'Ok este foarte usor, gata am terminat.' Este patial
gresit, pentru coderii avansati care doresc sa aiba totul clar si afisat corect
in confirmitate cu toate standardele vor opta pentru urmatorul cod:
<?php
echo("Salut<br>\n");
echo("Numele meu este<br>\n");
echo("Popescu Ion");
?>
De ce am pus caracterul \n ? Bine ai venit in lumea caracterelor de tip escape. Vei
observa diferenta intre primul si al doilea cod atunci cand te
vei uita in codul sursa HTML generat. \n inseamna newline, adica indica
faptul ca urmeaza linie noua. Totusi acesta nu este singurul
caracter de tip escape, iata lista competa:
Tabel caractere escape |
|
Caracter escape |
Descriere |
\a |
alarma |
\cx |
control-x (x poate fi orice caracter) |
\e |
escape |
\f |
formfeed |
\n |
newline (linie noua) |
\r |
carriage return |
\t |
tab |
\xhh |
caracter cu codul hexa hh |
\ddd |
caracter cu codul octal ddd |
II. Variabile si tipuri de date
In PHP toate variabilele incep cu semnul de dolar ( ). Dupa semnul se poate introduce un sir de caractere care poate aparea in diferite combinatii:
III. HTML si PHP
<html>
|