Her şeyi. PHP temel olarak sunucu-taraflı programlamaya odaklanmıştır, bu nedenle CGI uygulamalarının yaptığı her şeyi, örneğin formdan veri toplama, devingen sayfa içeriği oluşturma, ya da çerez alıp gönderme gibi işlemleri yapabilirsiniz. Ancak PHP bunlardan çok daha fazlasını yapabilecek yetenektedir.
PHP betiklerinin kullanıldığı başlıca üç alan vardır.
PHP bütün büyük işletim sistemlerinde, Linux, birçok Unix türevi (HP-UX, Solaris, OpenBSD vb.), Microsoft Windows, Mac OS X, RISC OS dahil olmak üzere çok çeşitli platformlarda çalışabilir. PHP benzer biçimde bugün yaygın biçimde kullanılan HTTP sunucularının büyük kısmını destekler. Bunlara Apache, Microsoft IIS, Microsoft PWS, Netscape ve iPlanet Sunucuları, Oreilly Website Pro, Caudium, Xitami, OmniHTTPD ve daha birçok sunucuyu örnek gösterebiliriz. Bu sunucuların çoğunluğunda PHP modül olarak kullanılabilir, geri kalanlarında da CGI standardı kullanılarak PHP bir CGI işleyici olarak çalıştırılabilir.
Sonuç olarak, PHP ile işletim sistemi ve HTTP sunucusu seçme özgürlüğüne sahipsiniz. Dahası, hangi programlama yöntemini kullanacağınıza, işlevsel yaklaşımı mı yoksa nesne yönelimli yaklaşımı mı yoksa her ikisini birden mi kullanacağınıza kendiniz karar verebilirsiniz. Bütün NYP (nesne yönelimli programlama) özellikleri PHP 4'te varolmasa da, birçok kod kütüphanesi ve büyük uygulama (PEAR kütüphanesi dahil) NYP kullanılarak yazılmıştır.
PHP'nin yetenekleri yalnızca HTML çıktı üretmekle sınırlı değildir. PHP'nin yetenekleri arasında resim çıktısı üretebilme, PDF oluşturabilme ve hatta Flash filmleri oluşturabilme (libswf ve Ming kullanarak) bulunmaktadır. Aynı şekilde XHTML ya da XML gibi her tür metin tabanlı dosyayı oluşturabilmeniz mümkündür. PHP bu dosyaları özdevinimli olarak oluşturabilir ve ekrana yazdırmanın yanında sizin için dosya sisteminde saklayabilir, böylece devingen içeriğiniz için sunucu-taraflı bir depo sistemini kullanımınıza sunabilir.
PHP'nin en güçlü ve en çok üstünde durulan özelliklerinden biri, sahip olduğu geniş ve gelişmiş veritabanı desteğidir. PHP ile veritabanı bağlantılı site sayfaları oluşturmak son derece basittir. Aşağıda desteklenen veritabanlarının listesi bulunmaktadır:
Bunların haricinde PDO adı verilen bir veritabanı soyutlama eklentisiyle, bu eklenti tarafından desteklenen veritabanlarını şeffaf olarak kullanabilirsiniz. PHP, ek olarak ODBC'yi, yani Açık Veritabanı Bağlantı standardını da destekler, bu şekilde ODBC'yi destekleyen tüm veritabanları ile iletişim kurabilirsiniz.
- Adabas D
- dBase
- Empress
- FilePro (salt okunur)
- Hyperwave
- IBM DB2
- Informix
- Ingres
- InterBase
- FrontBase
- mSQL
- Direct MS-SQL
- MySQL
- ODBC
- Oracle (OCI7 ve OCI8)
- Ovrimos
- PostgreSQL
- SQLite
- Solid
- Sybase
- Velocis
- Unix dbm
PHP, farklı hizmetlerle LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (Windows için) ve daha sayısız protokol aracılığıyla iletişim kurabilecek bir altyapıya da sahiptir. Hazır modüllerin haricinde ham ağ soketleri açıp bu soketler üzerinden istediğiniz bütün protokollerle çalışabilirsiniz. PHP, WDDX üzerinden sanal olarak sanal doku üzerinde hangi dilde yazılmış olursa olsun tüm uygulamalarla haberleşebilir. Ayrıca Java nesnelerinin oluşturulabilmesi ve şeffaf biçimde PHP nesneleri olarak kullanılabilmeleri önemli bir diğer özelliktir. Uzaktaki nesnelere erişim için CORBA uzantısı, yine PHP'nin sahip olduğu özellikler arasındadır.
PHP oldukça faydalı belge işleme özelliklerine sahiptir. Bu yelpaze Genişletilmiş POSIX ya da Perl düzenli ifade komutlarından XML dosyalarını okumaya kadar uzanır. XML dosyalarının okunması ve erişimi için SAX ve DOM standartlarını destekler. XSLT eklentisi ile XML belgeler dönüştürülebilir. PHP 5 tüm XML uzantılarını libxml2 tabanında tek bir standartta toplamış ve SimpleXML ile XMLReader desteğini bünyesine katarak sunduğu imkan yelpazesini genişletmiştir.
Bunların dışında, mnoGoSearch arama motoru, IRC ağ geçidi uzantıları, birçok sıkıştırma aracı (gzip, bz2) için yardımcı araçlar, takvim araçları, dil çeviri işlevleri yine PHP'nin sunmakta olduğu ilginç eklentilerden bazılarıdır.
Sizin de görebildiğiniz gibi bu sayfa PHP'nin sunabileceği bütün özellikleri ve faydaları anlatabilmek için yeterli değil. Yapılandırma ve Kurulum bölümünde ve İşlev başvuru kılavuzunda listelenen eklentilerin başlangıç bölümlerindeki açıklamalardan her bir eklenti için daha fazla bilgiye ulaşabilirsiniz.