Peamine erinevus: PHP serveripoolne skriptikeel, mille peamine rakendamine on veebiarenduses. Seda saab siiski kasutada üldotstarbelise programmeerimiskeelena. PHP4 ja PHP5 on kaks PHP versiooni. PHP4 ilmus 22. mail 2000. 13. juulil 2004 ilmus PHP5. See oli powered by Zend Engine II. See oli paranemine võrreldes PHP4 ja sisaldas mitmeid uusi funktsioone.

PHP on avatud lähtekoodiga, serveripoolne HTML-i sisseehitatud skriptikeel. See võib põhimõtteliselt täita mis tahes ülesandeid, mida teised CGI programmid saavad, kuid seda kasutatakse peamiselt dünaamiliste veebilehtede loomiseks. Selle peamine eelis on see, et see on kooskõlas mitut tüüpi andmebaasidega. Lisaks saab PHP rääkida üle võrkude, kasutades IMAP, SNMP, NNTP, POP3 või HTTP.
PHP sisaldab käsurealiidese funktsiooni ja seda saab kasutada eraldiseisvates graafilistes rakendustes. PHP-käske saab sisestada otse HTML-lähtedokumendisse, selle asemel et kutsuda andmeid töödelda. HTML-dokumendis on PHP skript lisatud spetsiaalsetesse PHP sildidesse. Nende siltide tõttu võib programmeerija HTML ja PHP asemel HTML ja PHP väljundi asemel vaheldumisi vahetada. Samuti, kuna PHP on serveril käivitatud, ei saa klient PHP koodi vaadata.

13. juulil 2004 vabastati PHP5. See oli powered by Zend Engine II. See oli paranemine PHP4 suhtes ja sisaldas mitmeid uusi funktsioone, näiteks paremat toetust objektorienteeritud programmeerimisele, PHP Data Objects (PDO) laiendust ja arvukaid tulemuslikkuse parandusi. Kaitstud päritolunimetuse laiendamine määratleb kerge ja ühtse liidese andmebaasidele juurdepääsuks. Hilinenud staatiline sidumine lisati versioonile 5.3. PHP5 oli mõeldud ka PHP varasemate versioonidega ühilduvaks ning seetõttu peaks PHP4-lt PHP5-le konverteerimisel katkema vähe funktsionaalsust.
Mõned erinevused PHP4 ja PHP5 vahel:
- PHP5 eemaldas register_globals, maagilised tsitaadid ja turvarežiimi. See oli tingitud asjaolust, et register_globals oli avanud turvaaugud, lubades tahtlikult käitusaja andmete sisestamist ja maagiliste jutumärkide kasutamine oli ettearvamatu.
- PHP4 oli powered by Zend Engine 1.0, samas kui PHP5 oli powered by Zend Engine II.
- PHP5 asendas maagilised jutumärgid funktsiooni addslashes (), et põgeneda märkidest.
- PHP4 on rohkem protseduurikeel, samas kui PHP5 on objektorienteeritud.
- PHP5-s võib klassi deklareerida abstraktsena.
- PHP5 sisaldab staatilisi meetodeid ja omadusi.
- PHP5 tutvustab spetsiaalset funktsiooni __autoload ()
- PHP5 võimaldab kuulutada klassi või meetodi lõplikuks
- PHP5 tutvustab mitmeid maagilisi meetodeid, näiteks __call, __get, __set ja __toString
- PHP5 puhul on 3 nähtavustaset: avalik, era- ja kaitstud.
- PHP5 kehtestas erandeid.
- PHP4-s läks kõik väärtuse, sealhulgas objektide poolt. Kui PHP5-s on kõik objektid viidud läbi.
- PHP5 tutvustab liideseid. Kõik liideses määratletud meetodid peavad olema avalikud.
- PHP5 tutvustab uut vea taset, mis on määratletud kui „E_STRICT”
- PHP5 tutvustab uusi vaikimisi laiendusi, nagu SimpleXML, DOM ja XSL, KPN ja Hash.
- PHP5 tutvustab uusi funktsioone.
- PHP5 tutvustab mõningaid uusi reserveeritud märksõnu.
- PHP5 sisaldab täiendavaid OOP kontseptsioone kui php4, näiteks juurdepääsu spetsifikatsioonid, pärand jne.
- PHP5 sisaldab paremat toetust praegustele sisuhaldussüsteemidele.
- PHP5 sisaldab vähem RAM-i tarbimist.
- PHP5 tutvustab suuremat turvalisust PHP skriptide haavatavuste ärakasutamise vastu.
- PHP5 pakub lihtsamat programmeerimist uute funktsioonide ja laienduste kaudu.
- PHP5 tutvustab MySQLi uut MySQL-laiendit arendajatele, kes kasutavad MySQL 4.1 ja uuemaid.
- PHP5-s on SQLite ühendatud PHP-ga.
- PHP5 tutvustab täiesti uut sisseehitatud SOAP-laiendust, mis võimaldab koostalitlusvõimet veebiteenustega.
- PHP5 tutvustab uut SimpleXML-i laiendit, mis võimaldab XML-i hõlpsasti ligipääsu ja manipuleerimist PHP objektidena. Samuti võib see liides DOM-i laiendusega ja vastupidi.
- PHP5-s on voogud märkimisväärselt paranenud, sealhulgas võimalus jõuda madalate tasemega socket operatsioonidesse.