Ключова разлика: PHP е скриптов език от страна на сървъра, който има основно приложение в уеб разработката. Въпреки това, той може да се използва като език за програмиране с общо предназначение. PHP4 и PHP5 са две версии на PHP. PHP4 беше издаден на 22 май 2000 г. На 13 юли 2004 г. беше издаден PHP5. Тя е задвижвана от Zend Engine II. Това беше подобрение в сравнение с PHP4 и включваше различни нови функции.

PHP е отворен код, от страна на сървъра, HTML вграден скриптов език. По същество той може да изпълнява всяка задача, която могат да изпълняват други CGI програми, но се използва главно за създаване на динамични уеб страници. Основното му предимство е, че е съвместимо с много типове бази данни. Освен това, PHP може да говори в мрежи, използвайки IMAP, SNMP, NNTP, POP3 или HTTP.
PHP включва възможност за интерфейс на команден ред и може да се използва в самостоятелни графични приложения. PHP командите могат да бъдат вградени директно в HTML източник, вместо да се извиква външен файл за обработка на данни. В HTML документа PHP скриптът е затворен в специални PHP тагове. Поради тези маркери, програмистът може да се редува между HTML и PHP, вместо да се налага да разчита на големи количества код за извеждане на HTML. Също така, тъй като PHP се изпълнява на сървъра, клиентът не може да вижда PHP кода.

На 13 юли 2004 г. беше издаден PHP5. Тя е задвижвана от Zend Engine II. Това беше подобрение в сравнение с PHP4 и включваше различни нови функции, като подобрена поддръжка за обектно-ориентирано програмиране, разширение на PHP обекти (PDO) и множество подобрения в производителността. Разширението PDO определя лек и последователен интерфейс за достъп до бази данни. Късно статично свързване беше добавено във версия 5.3. PHP5 също така е проектиран да бъде обратно съвместим с по-ранните версии на PHP и следователно трябва да доведе до нарушаване на функционалността при конвертиране от PHP4 на PHP5.
Някои разлики между PHP4 и PHP5:
- PHP5 отстрани register_globals, магически цитати и безопасен режим. Това се дължи на факта, че register_globals са отворили дупки в сигурността чрез умишлено разрешаване на инжектирането на данни за изпълнение и използването на магически цитати има непредвидим характер.
- PHP4 беше задвижван от Zend Engine 1.0, докато PHP5 беше задвижван от Zend Engine II.
- PHP5 заменя магическите кавички с функцията addslashes (), за да избегне символи.
- PHP4 е повече от процедурен език, докато PHP5 е обектно ориентиран.
- В PHP5 може да се обяви клас като абстракт.
- PHP5 включва статични методи и свойства.
- PHP5 въвежда специална функция, наречена __autoload ()
- PHP5 позволява да се обяви клас или метод за финал
- PHP5 въвежда редица магически методи, като __call, __get, __set и __toString
- В PHP5 има 3 нива на видимост: публични, частни и защитени.
- PHP5 въведе изключения.
- В PHP4 всичко беше предадено по стойност, включително обекти. Докато в PHP5 всички обекти се предават по референция.
- PHP5 въвежда интерфейси. Всички дефинирани в интерфейса методи трябва да са публични.
- PHP5 въвежда ново ниво на грешка, определено като „E_STRICT“
- PHP5 въвежда нови стандартни разширения като SimpleXML, DOM и XSL, PDO и Hash.
- PHP5 въвежда нови функции.
- PHP5 въвежда някои нови резервирани ключови думи.
- PHP5 включва допълнителни концепции на ООП от php4, като спецификатори за достъп, наследяване и др.
- PHP5 включва подобрена поддръжка на настоящите системи за управление на съдържанието.
- PHP5 включва намалена консумация на RAM.
- PHP5 въвежда повишена сигурност срещу експлоатацията на уязвимости в PHP скриптовете.
- PHP5 въвежда по-лесно програмиране чрез нови функции и разширения.
- PHP5 въвежда ново разширение MySQL, наречено MySQLi за разработчици, използващи MySQL 4.1 и по-нови версии.
- В PHP5 SQLite е включен в PHP.
- PHP5 въвежда съвсем ново вградено SOAP разширение за съвместимост с Web Services.
- PHP5 въвежда ново SimpleXML разширение за лесен достъп и манипулиране на XML като PHP обекти. Той може също да се свърже с DOM разширение и обратно.
- В PHP5, потоците са значително подобрени, включително възможността за достъп до операции с ниско ниво на сокети за потоци.