Накратко: Историята на PHP започва през 1994 г. с Расмус Лердорф, който нарича „Personal Home Page Tools“ написаните на C CGI програми за личния си уебсайт. През 1998 г. излиза PHP 3, през 2000 г. PHP 4 със Zend Engine, през 2004 г. PHP 5, през 2015 г. PHP 7 и през 2020 г. PHP 8. Днес всяка година през ноември излиза нова версия, която се поддържа четири години.
Как възниква PHP: Personal Home Page Tools (1994 до 1997 г.)
Според ръководството на PHP Расмус Лердорф написва през 1994 г. поредица от CGI програми на C. Първоначално те трябвало само да отчитат посещенията на неговата онлайн автобиография. Той нарича колекцията „Personal Home Page Tools“ и публикува изходния код през юни 1995 г. Така и други могат да ползват и подобряват инструментите.
През септември 1995 г. Лердорф разширява инструментите и временно ги нарича „FI“ (Forms Interpreter). През октомври 1995 г. следва напълно нова редакция, отново под името PHP. През април 1996 г. той обединява двете имена в PHP/FI. Тази версия получава през юни 1996 г. статута на версия 2.0 и напуска бета фазата през ноември 1997 г.
Още този ранен период оформя PHP и до днес: език, който възниква от практическа нужда, дава бързо резултати и се развива от отворена общност.
PHP 3 и Zend Engine (1997 до 2004 г.)
През 1997 г. Анди Гутманс и Зееб Сураски от Тел Авив започват да пренаписват парсера, т.е. частта, която чете и разчленява изходния код. Заедно с Лердорф от това се ражда нов език, който се нарича просто „PHP“. Името става рекурсивна абревиатура „PHP: Hypertext Preprocessor“. PHP 3.0 излиза през юни 1998 г. като наследник на PHP/FI 2.0. Важни бяха преди всичко добрата разширяемост и първата поддръжка на обектно-ориентирано програмиране.
След това Гутманс и Сураски пренаписват ядрото отново. Резултатът е Zend Engine, наименувана по малките им имена Zeev и Andi. Тя е представена в средата на 1999 г. PHP 4.0 излиза през май 2000 г. и носи по-добра производителност, HTTP сесии и буфериране на изхода.
През юли 2004 г. следва PHP 5 със Zend Engine 2.0 и нов обектен модел. Серията 5 остава дълго в употреба и расте с всяка подверсия. С PHP 5.3.3 FastCGI Process Manager (FPM) се добавя като самостоятелен режим на работа, а с PHP 5.5.0 кешът за байткод OPcache става част от доставката.
Отпадналият PHP 6 и скокът към PHP 7 (2005 до 2019 г.)
PHP 6 трябваше да донесе цялостна поддръжка на Unicode, т.е. единна обработка на всички знаци. Според ръководството тази работа е прекратена. Някои планирани функции преминават в PHP 5.3 (пространства от имена) и PHP 5.4 (traits и краткият запис на масиви []). Следващата голяма версия получава затова номер 7.
PHP 7.0 излиза на 3 декември 2015 г. със Zend Engine 3.0. Основата е проектът PHPNG, преработка на ядрото под ръководството на Дмитрий Стогов. Свързаният RFC, т.е. официално предложение за промяна, посочва ръст на производителността от 20 до 110 процента при реални приложения като WordPress и Drupal. Нови бяха, между другото, операторът за null-обединяване ?? и анонимните класове.
<?php
// От PHP 7.0: стойност по подразбиране без верига от isset()
$sprache = $_GET['lang'] ?? 'de';
Серията 7 завършва с PHP 7.4. Нейната последна версия, 7.4.33, излиза на 3 ноември 2022 г.; според php.net поддръжката приключва на 28 ноември 2022 г.
PHP 8 и годишният ритъм (от 2020 г. до днес)
PHP 8.0 излиза на 26 ноември 2020 г. с именувани аргументи, обединени типове, атрибути, nullsafe оператора ?->, изрази match и JIT компилатор. Оттогава всяка година следва нова подверсия. Какво е донесла всяка версия, описва прегледът PHP 8.0 до 8.5.
| Версия | Първо издаване | Основни нововъведения |
|---|---|---|
| PHP 3.0 | юни 1998 г. | нов парсер, име „PHP: Hypertext Preprocessor“ |
| PHP 4.0 | май 2000 г. | Zend Engine, сесии, буфериране на изхода |
| PHP 5.0 | юли 2004 г. | Zend Engine 2.0, нов обектен модел |
| PHP 7.0 | 3 декември 2015 г. | Zend Engine 3.0, значително по-бърз |
| PHP 8.0 | 26 ноември 2020 г. | JIT, атрибути, обединени типове |
| PHP 8.1 | 25 ноември 2021 г. | Enums, Fibers, readonly свойства |
| PHP 8.2 | 8 декември 2022 г. | readonly класове, DNF типове |
| PHP 8.3 | 23 ноември 2023 г. | типизирани константи на класове |
| PHP 8.4 | 21 ноември 2024 г. | Property Hooks, асиметрична видимост |
| PHP 8.5 | 20 ноември 2025 г. | pipe оператор, URI разширение |
През 2024 г. проектът PHP гласува нов цикъл на издаване. Оттогава всеки клон получава две години активна поддръжка и две години корекции за сигурност, всеки път до 31 декември. Правилата в детайли са описани в PHP версии и цикъл на издаване.
Какво означава историята за сигурността днес
Дългата история е сила, защото PHP е стабилен и добре документиран. Тя е и тежест: на много сървъри работят версии, настроени преди години и никога неподменяни. PHP 5.6 е без официална поддръжка от 31 декември 2018 г., PHP 8.0 от 26 ноември 2023 г., PHP 8.1 от 31 декември 2025 г.
PHP2Shell направи това видимо. Според специализираната преса са засегнати почти всички версии чак до PHP 5.4. Официални корекции има от 21 октомври 2026 г. само за клоновете от 8.2 до 8.5; за 7.4, 8.0 и 8.1 съществуват единствено минимални backport корекции на изходния код. Който експлоатира по-стари версии, ще намери последиците в наръчника PHP End-of-Life: рискове от остарели версии.
Записвайте за всеки сървър версията на PHP и датата, на която приключва поддръжката ѝ. Така изненадата се превръща в предвидим срок.
Как помага PHP SOS конкретно?
- Откриване на наследени проблеми: Установяваме кои поколения PHP все още работят на Вашите сървъри, включително на забравени системи.
- Оценка на риска: Показваме кои версии получават официални актуализации и къде остават само временни решения.
- Планиране на миграцията: С миграцията от PHP 8.1 и по-стари привеждаме приложенията към поддържана версия, тествана преди преминаването.
- Документиране: Получавате преглед с версии и крайни дати на поддръжката за Вашето планиране.
Често задавани въпроси
Кой е създал PHP?
PHP води началото си от Расмус Лердорф. През 1994 г. той написва на C колекция от CGI програми, която нарича Personal Home Page Tools. От 1997 г. Анди Гутманс и Зееб Сураски пренаписват парсера, от което се ражда PHP 3.
Какво означава съкращението PHP?
Първоначално Personal Home Page. От PHP 3 насам името е рекурсивна абревиатура: PHP: Hypertext Preprocessor. Съкращението следователно съдържа самото себе си.
Защо няма PHP 6?
PHP 6 трябваше да донесе цялостна поддръжка на Unicode. Според ръководството на PHP тази работа е прекратена. Отделни планирани функции влязоха в PHP 5.3 и 5.4, а следващата голяма версия се нарече PHP 7.
Откога съществуват PHP-FPM и OPcache?
PHP-FPM е приет като самостоятелен SAPI с PHP 5.3.3. OPcache според ръководството е част от доставката от PHP 5.5.0, а преди това беше достъпен през PECL за версиите от 5.2 до 5.4.