Istnieją dwa kluczowe punkty sukcesu PHP: czas i nacisk na hosting współdzielony.
Na początku sieć była statyczna. Web-Servers mógł dystrybuować tylko wstępnie wygenerowany HTML, co oczywiście nie wystarczyło po pewnym czasie, więc w 1993 roku zespół NCSA rozszerzył swój serwer WWW (poprzednik Apache httpd) o technologię o nazwie CGI, która umożliwiła wywoływanie określonych programów z serwera WWW który może generować HTML (lub inną treść) w locie. To było wspaniałe, ponieważ ludzie mogli robić wszystkie rzeczy. W tym czasie powszechnie używanym językiem był Perl. Perl jest językiem silnie przetwarzającym tekst, który jest kluczową właściwością do obsługi danych żądań HTTP i tworzenia HTML. Więc ludzie go używali.
Ale pojawił się problem: dla każdego żądania serwer WWW musiał uruchomić program zewnętrzny, Perl musiał zainicjować i uruchomić skrypt. To spowodowało sporo bólu głowy. Rozwiązaniem było mod_perl nadchodzące ok. 1997. mod_perl to moduł serwera Apache osadzający interpreter Perla bezpośrednio w procesie serwera WWW, więc nie było potrzeby dodatkowego uruchamiania.
Ale znowu to podejście miało problem: mod_perl był niezwykle potężny i miał dostęp do pełnej konfiguracji serwera. Nie można użyć jednego serwera do obsługi wielu niezależnych klientów, ponieważ mogą oni z łatwością wyrządzić krzywdę innym ludziom - celowo lub przypadkowo. I tu właśnie przyszedł PHP.
PHP zostało zbudowane w taki sposób, że mogło działać jako moduł Apache (a więc nie miał trafienia startowego dla każdego żądania), ale zapewnia środowisko współdzielenia niczego między żądaniami. Po wykonaniu żądania wszystkie informacje zostały utracone, a kolejne żądanie do innego wirtualnego hosta będzie obsługiwane niezależnie. PHP oferowało również funkcje ograniczające dostęp (tryb_bezpieczny, katalog_wyjści_zasobu). Dzięki takiemu wyborowi architektury firmy mogłyby zainstalować PHP na swoim serwerze i zapewnić klientom FTP (lub podobny) dostęp do przesyłania swoich plików i przez tego hosta wielu wielu klientów na jednym komputerze bez większego nakładu pracy. Spowodowało to konkurencję prowadzącą do niskich cen hostingu opartego na PHP, dzięki czemu PHP stał się wszechobecną platformą.
Dodatkowo PHP miało kilka zalet w stosunku do Perla, takie jak umożliwienie mieszania kodu HTML i PHP lub bezpośredni dostęp do zmiennych żądania (patrz także register_globals), co w Perlu było trudniejsze (niestandardowe parsowanie lub zależność od CGI.pm), co lubili programiści.
Kolejnym aspektem, który sprawił, że PHP odniosło sukces w tamtych czasach, było dobre wsparcie dla systemu Windows. Uzyskiwanie Perla lub innych języków do pracy w systemie Windows było trudne, ale w tamtym czasie wielu programistów używało Windowsa w domu i wirtualizacji lub kontenerów jeszcze nie było. PHP działało łatwo w systemie Windows, aby ludzie mogli go używać do programowania, a następnie spakować pliki i wdrożyć w systemie Linux. Na przykład w Perlu musisz uzyskać prawidłową dystrybucję perla, a następnie sprawdzić, które moduły są w ogóle dostępne itp.
Co z innymi językami? Skompilowane języki, takie jak C lub C ++, nigdy nie zyskały na popularności, ponieważ skrypty lepiej służą szybko rozwijającemu się rynkowi. Java istniała, ale maszyny wirtualne Java wymagały znacznie więcej zasobów i hostingu współdzielonego w sposób, w jaki PHP to obsługuje. Inwestycje w harddware były znacznie wyższe. ASP (jako poprzednik ASP.Net) był związany z platformą Windows, ograniczając ją do organizacji, które już korzystają z systemu Windows i które nie boją się kosztów licencji, i ponownie nie wspierają hostingu współdzielonego.
Różne inne technologie zostały wyprodukowane, ale albo były komercyjne (Cold Fusion lub Netscape Server z JavaScript po stronie serwera) ograniczające ich zasięg lub nie były poza ich zasięgiem aż do pojawienia się Ruby-on-rails, co prawdopodobnie było pierwszym środowiskiem otrzymującym wiele Uwaga, ale do tego czasu PHP było już bardzo popularne w dużej społeczności i ugruntowanym oprogramowaniu (takim jak Wordpress lub Drupal), co utrudnia konkurowanie - zwłaszcza, że rozwój PHP nigdy się nie kończy i wciąż trwa.