Hlavní rozdíl: PHP skriptovací jazyk na straně serveru, který má hlavní implementaci ve vývoji webových stránek. Může se však použít jako obecný programovací jazyk. PHP4 a PHP5 jsou dvě verze PHP. PHP4 byl propuštěn 22. května 2000. Dne 13. července 2004 byl uvolněn PHP5. Byl poháněn Zend Engine II. Bylo to zlepšení oproti PHP4 a zahrnovalo různé nové funkce.

PHP je skriptovací jazyk s otevřeným zdrojovým kódem založeným na straně serveru a HTML. V zásadě může vykonávat jakýkoli úkol, který mohou jiné programy CGI provádět, ale používá se hlavně k vytváření dynamických webových stránek. Jeho hlavní výhodou je, že je kompatibilní s mnoha typy databází. Navíc PHP může komunikovat přes sítě pomocí protokolů IMAP, SNMP, NNTP, POP3 nebo HTTP.
PHP obsahuje rozhraní rozhraní příkazového řádku a může být použito v samostatných grafických aplikacích. Příkazy PHP lze vložit přímo do zdrojového dokumentu HTML, nikoli volat externí soubor pro zpracování dat. V dokumentu HTML je skript PHP uzavřen do speciálních tagů PHP. Vzhledem k těmto značkám může programátor střídat mezi jazyky HTML a PHP, místo aby musel spoléhat na těžké množství kódu pro výstup HTML. Také, protože PHP je spuštěn na serveru, klient nemůže zobrazit kód PHP.

13. července 2004 byl propuštěn PHP5. Byl poháněn Zend Engine II. Jednalo se o zlepšení oproti PHP4 a zahrnovalo několik nových funkcí, jako je vylepšená podpora objektově orientovaného programování, rozšíření PHP Data Objects (PDO) a mnoho vylepšení výkonu. Rozšíření PDO definuje lehké a konzistentní rozhraní pro přístup k databázím. Pozdě statická vazba byla přidána ve verzi 5.3. PHP5 byl také navržen tak, aby byl zpětně kompatibilní s dřívějšími verzemi PHP, a proto by měl mít za následek malou funkčnost při přeměně z PHP4 na PHP5.
Některé rozdíly mezi PHP4 a PHP5:
- PHP5 odstranil register_globals, kouzelné citace a bezpečný režim. To bylo způsobeno tím, že register_globals otevřel bezpečnostní otvory tím, že úmyslně umožnil vkládání dat za běhu a použití magických citátů mělo nepředvídatelnou povahu.
- PHP4 byl poháněn Zend Engine 1.0, zatímco PHP5 byl poháněn Zend Engine II.
- PHP5 nahradil magické uvozovky pomocí funkce addslashes (), aby unikl znakům.
- PHP4 je více jazykem procedur, zatímco PHP5 je objektově orientovaný.
- V PHP5 lze deklarovat třídu jako Abstrakt.
- PHP5 obsahuje statické metody a vlastnosti.
- PHP5 zavádí speciální funkci s názvem __autoload ()
- PHP5 umožňuje deklarovat třídu nebo metodu jako finální
- PHP5 zavádí řadu magických metod, jako jsou __call, __get, __set a __toString
- V PHP5 existují 3 úrovně výhledu: Veřejné, soukromé a chráněné.
- PHP5 představil výjimky.
- V PHP4, vše bylo předáno hodnotou, včetně objektů. Zatímco v PHP5 jsou všechny objekty předávány odkazem.
- PHP5 představuje rozhraní. Všechny metody definované v rozhraní musí být veřejné.
- PHP5 zavádí novou úroveň chyb definovanou jako 'E_STRICT'
- PHP5 zavádí nové výchozí rozšíření, jako jsou SimpleXML, DOM a XSL, PDO a Hash.
- PHP5 představuje nové funkce.
- PHP5 zavádí několik nových vyhrazených klíčových slov.
- PHP5 obsahuje další koncepce OOP než php4, jako jsou specifikátory přístupu, dědičnost atd.
- PHP5 zahrnuje vylepšenou podporu současných systémů pro správu obsahu.
- PHP5 zahrnuje sníženou spotřebu paměti RAM.
- PHP5 zavádí zvýšené zabezpečení proti zneužití zranitelných míst v PHP skriptech.
- PHP5 zavádí snadnější programování pomocí nových funkcí a rozšíření.
- PHP5 představuje nové rozšíření MySQL s názvem MySQLi pro vývojáře používající MySQL 4.1 a novější.
- V PHP5, SQLite byl svázán s PHP.
- PHP5 zavádí zcela nové rozšíření SOAP pro interoperabilitu s webovými službami.
- PHP5 zavádí nové rozšíření SimpleXML pro snadný přístup a manipulaci s XML jako objekty PHP. Může také propojit s rozšířením DOM a naopak.
- V PHP5 se potoky značně zlepšily, včetně možnosti přístupu k nízkoúrovňovým zásuvkám na tocích.