Kľúčový rozdiel: PHP skriptovací jazyk na strane servera, ktorý má svoju hlavnú implementáciu vo vývoji webových aplikácií. Môže sa však použiť ako všeobecný programovací jazyk. PHP4 a PHP5 sú dve verzie PHP. PHP4 bol vydaný 22. mája 2000. 13. júla 2004 bol uvoľnený PHP5. Bol poháňaný Zend Engine II. Bola to vylepšenie oproti PHP4 a zahŕňalo rôzne nové funkcie.

PHP je skriptovací jazyk s otvoreným zdrojovým kódom na strane servera a HTML. V podstate môže vykonávať akúkoľvek úlohu, ktorú môžu používať iné programy CGI, ale používa sa predovšetkým na vytváranie dynamických webových stránok. Jeho hlavnou výhodou je, že je kompatibilný s mnohými typmi databáz. Okrem toho môže PHP hovoriť cez siete pomocou protokolov IMAP, SNMP, NNTP, POP3 alebo HTTP.
PHP zahŕňa rozhranie príkazového riadku a môže byť použité v samostatných grafických aplikáciách. Príkazy PHP môžu byť vložené priamo do zdrojového dokumentu HTML, a nie ako volanie externého súboru na spracovanie údajov. V dokumente HTML je skript PHP uzavretý v špeciálnych tagoch PHP. Kvôli týmto tagom môže programátor striedať medzi HTML a PHP namiesto toho, aby musel spoliehať na ťažké množstvo kódu na výstup HTML. Aj pri vykonávaní PHP na serveri klient nemôže zobraziť kód PHP.

13. júla 2004 bol uvoľnený PHP5. Bol poháňaný Zend Engine II. Bola to vylepšenie oproti PHP4 a zahŕňalo rôzne nové funkcie, ako napríklad lepšiu podporu pre objektovo orientované programovanie, rozšírenie PHP Data Objects (PDO) a množstvo vylepšení výkonu. Rozšírenie PDO definuje ľahké a konzistentné rozhranie pre prístup k databázam. Neskorá statická väzba bola pridaná vo verzii 5.3. PHP5 bol tiež navrhnutý tak, aby bol spätne kompatibilný so staršími verziami PHP, a preto by mal viesť k prerušeniu malých funkcií počas prevodu z PHP4 na PHP5.
Niektoré rozdiely medzi PHP4 a PHP5:
- PHP5 odstránil register_globals, magické citáty a núdzový režim. Dôvodom bola skutočnosť, že register_globals otvoril bezpečnostné otvory zámerným umožnením spustenia dát za behu a používanie magických citátov malo nepredvídateľný charakter.
- PHP4 bol poháňaný Zend Engine 1.0, zatiaľ čo PHP5 bol poháňaný Zend Engine II.
- PHP5 nahradil magické úvodzovky funkciou addslashes (), aby unikla znakom.
- PHP4 je viac procedurálnym jazykom, zatiaľ čo PHP5 je objektovo orientovaný.
- V PHP5 možno deklarovať triedu ako Abstrakt.
- PHP5 obsahuje statické metódy a vlastnosti.
- PHP5 predstavuje špeciálnu funkciu nazvanú __autoload ()
- PHP5 umožňuje deklarovať triedu alebo metódu ako finálnu
- PHP5 predstavuje množstvo magických metód, napríklad __call, __get, __set a __toString
- V systéme PHP5 existujú 3 úrovne vizibility: verejné, súkromné a chránené.
- PHP5 zaviedol výnimky.
- V PHP4, všetko prešlo hodnotou vrátane objektov. Zatiaľ čo v PHP5 sú všetky objekty odovzdané odkazom.
- PHP5 predstavuje rozhranie. Všetky metódy definované v rozhraní musia byť verejné.
- PHP5 zavádza novú úroveň chýb definovanú ako 'E_STRICT'
- PHP5 zavádza nové predvolené rozšírenia, ako napríklad SimpleXML, DOM a XSL, PDO a Hash.
- PHP5 predstavuje nové funkcie.
- PHP5 predstavuje niekoľko nových vyhradených kľúčových slov.
- PHP5 obsahuje ďalšie OOP koncepty ako php4, ako sú špecifikátory prístupu, dedičstvo atď.
- PHP5 zahŕňa vylepšenú podporu súčasných systémov správy obsahu.
- PHP5 zahŕňa zníženú spotrebu pamäte RAM.
- PHP5 predstavuje zvýšenú bezpečnosť proti zneužitiu zraniteľnosti v PHP skriptoch.
- PHP5 predstavuje jednoduchšie programovanie prostredníctvom nových funkcií a rozšírení.
- PHP5 predstavuje nové rozšírenie MySQL s názvom MySQLi pre vývojárov pomocou MySQL 4.1 a neskôr.
- V systéme PHP5 bol SQLite spojený s PHP.
- PHP5 predstavuje úplne nové zabudované rozšírenie SOAP pre interoperabilitu s webovými službami.
- PHP5 zavádza nové rozšírenie SimpleXML pre ľahký prístup a manipuláciu s XML ako objekty PHP. Môže tiež prepojiť s rozšírením DOM a naopak.
- V systéme PHP5 sa prúdy výrazne zlepšili vrátane možnosti prístupu k prevádzke zásuviek na nízkych úrovniach na prúdoch.