Wszystko. PHP skupia się głównie na skryptowaniu po stronie serwera, więc może robić wszystko to, co dowolny inny program CGI, jak na przykład odbieranie danych z formularzy, generowanie dynamicznej treści strony czy wysyłanie i odbieranie ciasteczek. Lecz PHP może znacznie więcej.
Istnieje kilka głównych obszarów, w których są wykorzystywane skrypty PHP.
PHP może być używany na wszystkich ważnych systemach operacyjnych, w tym Linuksie, wielu wariantach Uniksa (wliczając HP-UX, Solaris i OpenBSD), Microsoft Windows, macOS, RISC OS i prawdopodobnie innych. PHP ma także wsparcie dla większości obecnych serwerów WWW, wliczając Apache, IIS i wiele innych. Wliczają się w to także dowolne serwery ze wsparciem dla FastCGI PHP, jak lighttpd i nginx. PHP działa jako moduł lub procesor CGI.
Tak więc z PHP masz wolność wyboru systemu operacyjnego i serwera WWW. Ponadto, masz także wybór między używaniem programowania proceduralnego, obiektowego (OOP) lub mieszanki ich obu.
PHP nie ogranicza Cię jedynie do generowania kodu HTML. Do możliwości PHP zalicza się tworzenie obrazków, plików PDF a nawet animacji Flash (przy użyciu libswf lub Ming) generowanych w locie. Możesz też wygenerować dowolny tekst, jak XHTML lub dowolny inny plik plik XML. PHP może zapisać je do pliku zamiast wypisywać, więc może posłużyć za cache po stronie serwera dla dynamicznej zawartości.
Jedną z najsilniejszych i najbardziej istotnych cech PHP jest wsparcie dla szerokiej gamy baz danych. Tworzenie stron wykorzystujących bazy danych jest niesamowicie proste dzięki możliwosci użycia rozszerzeń dla konkretnej bazy danych (np. dla mysql) lub użyciu warstwy abstrakcji jak PDO, czy też połączeniu do dowolnej bazy wspierającej standard Open Database Connection poprzez rozszerzenie ODBC. Niektóre bazy danych mogą także używać cURLa lub socketów, jak CouchDB.
PHP ma też wsparcie dla komunikacji z innymi usługami, używając protokołów takich jak LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (w systemie Windows) i niezliczonych innych. Możesz także otwierać surowe sockety sieciowe dla interakcji z dowolnym innym protokołem. PHP ma wsparcie dla WDDX, kompleksowej wymiany danych między niemal wszystkimi językami webowymi. Mowiąc o łączeniu z innymi językami, PHP ma wsparcie dla tworzenia obiektów Javy i używania ich jako obiektów PHP.
PHP ma parę przydatnych opcji dla przetwarzania tekstu, w tym wyrażenia regularne kompatybilne z Perlem (PCRE) oraz wiele rozszerzeń i narzędzi do odczytu i parsowania dokumentów XML. PHP standardyzuje wszystkie rozszerzenia dzięki solidnej podstawie libxml2 i rozszerza zakres możliwości dodając rozszerzenia jak SimpleXML, XMLReader i XMLWriter.
A także wiele innych interesujących rozszerzeń, które zostały podzielone zarówno alfabetycznie jak i według kategorii. Istnieją też dodatkowe rozszenia PECL, które zostały lub nie zostały opisane w podręczniku PHP, jak » XDebug.
Jak widzisz, jedna strona nie wystarczy aby wymienić wszystkie możliwości i korzyści, które oferuje PHP. Kontynuuj czytanie rozdziału o instalacji PHP i zobacz sekcję Opis Funkcji aby zapoznać się ze wcześniej wymienionymi rozszerzeniami.