PHP je skriptni jezik namenjen za izradu dinamičnog web sadržaja i izvodi se na strani servera. Zbog svoje sintakse koju je nasledio od programskog jezika C i zbog svoje jednostavnosti stekao je veliku popularnost. Kako je vreme prolazilo jezik se proširivao i sticao mogućnost za objektno orijentisano programiranje. Ima mogućnost za čisto-proceduralno programiranje, ali isto tako omogućava i korišćenje klasa i drugih koncepata objektno orjentisanog programiranja.
Prvi alat po nazivu PHP/FI je napisan 1995. godine, a napisao ga je Rasmus Lerdorf za sopstvene potrebe i to je bio skup alata za ličnu prezentaciju (eng. Personal Home Page Tools), odakle i skraćenica PHP. Ova verzija je imala samo neke zajedničke stvari sa današnjim PHP-om. Ubrzo nakon zvaničnog objavljivanja verzije PHP/FI 2.0 1997. godine, zamenjuje ga PHP 3.0. Ova verzija PHP-a predstavlja verziju koja dosta liči na današnje verzije PHP-a. Kreirali su ga izraelski programeri Zeev Suraski i Endi Gutmans kao potpunu preradu projekta PHP/FI i u saradnji sa Lerdorfom su objavili PHP 3.0 kao zvaničnog naslednika jezika PHP/FI. Ova verzija je imala veću konzistentnost i mogućnost objektno orijentisanog programiranja, a glavna osobina je bila njegova proširivost.
PHP 3.0 je zvanično objavljen u junu 1998. nakon devet meseci korišćenja u probnoj fazi, ime je promenjeno u PHP bez dodatka „FI“, a i značenje skraćenice se izmenilo i predstavlja "PHP: preprocesor hiperteksta" (PHP: Hypertext Preprocessor).
U zimu 1998. Zeev i Gutmans su započeli ponovno pisanje PHP-a ispočetka, pokušavajući da poprave jezgro tako da bi bolje radilo sa većim aplikacijama i da bi poboljšali modularnost. Novo jezgro su nazvali Zend mašina (Zend engine), po delovima svojih imena Zeev i Endi, da bi kasnije formirali i Zend Technologies u Ramat Ganu, Izrael, koja nadgleda unapređenje PHP-a. Novo jezgro je uspešno dovršeno i pojavilo se u javnosti sredinom 1999, a nova verzija PHP-a, 4.0, opremljena novim jezgrom je zvanično objavljena u maju, 2000. Pored boljih performansi, nova verzija je uključivala i keširanje standardnog izlaza, sesije, bolju podršku za različite veb-servere, sigurniji prenos korisničkih podataka i nekoliko novih kontrolnih struktura.
Verzija 5.0 je izašla u julu 2004. godine, nakon dugog razvoja i nekoliko probnih verzija. Koristi jezgro Zend mašina 2.0 sa novim objektnim modelom i mnogo novih mogućnosti. Ova verzija je takođe donela mnoštvo izmena u objektno-orijentisanom programiranju.
PHP se može koristiti za programiranje konzolnih aplikacija i grafičkih interfejsa (biblioteka PHP-GTK), a njegova osnovna i glavna upotreba je u programiranju dinamičnih stranica na Internetu.
Danas PHP koristi nekoliko stotina hiljada programera i nekoliko miliona sajtova uključujući neke od najposećenijih sajtova na svetu, poput Fejsbuka, Vikipedije, Jahua, Jutuba i Flickra.
Program koji se napiše u PHP-u ne zahteva prevođenje (kompajliranje), nego se interpretira pri svakom izvršavanju. PHP interpretator može raditi po PHP CGI principu, odnosno tako što će interpretator postojati kao eksterna aplikacija, koja se poziva da izvrši datu skriptu svaki put kad bude zahtevana od nekog korisnika, a može biti instaliran i kao modul veb-servisa. Druga varijanta je danas u najvećoj upotrebi jer pruža znatno veću brzinu izvršavanja - interpretator je na taj način uvek učitan u memoriju te se ne mora pozivati spoljašnji program.
Uobičajen scenario po kom se izvršavaju PHP skripte je sledeći:
klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server prosleđuje zahtev servisu za veb (program veb-server na serveru) veb-server prepoznaje da se traži PHP datoteka ne šalje njegov sadržaj klijentu, nego ga izvršava kao program pomoću PHP modula izlazni tekst programa (standardni izlaz) se šalje klijentu kao rezultat zahteva klijent prepoznaje vrstu rezultata (HTML kod, slika, PDF sadržaj, arhiva itd.) rezultat se prikazuje klijentu na odgovarajući način Poslednjih godina programski jezik PHP se podigao na jedan viši nivo. Radi se o paketima (php framework) koji služe kao alati za brži i sigurniji razvoj internet aplikacija. Namena ovih paketa je da se gotovi alati iz jedne tehnologije sastave u praktičan okvir pa da se tako nastali paket koristi kao jedan alat. Tako bi programer bez razmišljanja imao na raspolaganju osnovne funkcionalnosti tehnologije koju koristi i posvetio se samo logici aplikacije koju gradi, problemima organizacije fajlova, klasifikacije objekata i bezbednosti.
Ovo su samo neki od poznatijih i popularnijih PHP paketa: Laravel, Phalcon, Symfony2, Codelgniter, Yii, Aura, Zend Framework 1 i 2, Cake PHP, Kohana i mnogi drugi.