PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidos dinámicos, ó enviar y recibir cookies. Y esto no es todo, se puede hacer mucho más. Existen tres campos en los que se usan scripts escritos en PHP.
De modo que, con PHP se tiene la libertad de elegir el sistema operativo y el servidor de que mas guste. También se tiene la posibilidad de usar programación procedimental ó programación orientada a objetos. Aunque no todas las características estándares de la programación orientada a objetos están implementadas en la versión actual de PHP, muchas librerías y aplicaciones grandes están escritas íntegramente usando programación orientada a objetos.
Quizás la característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos están soportadas actualmente5.2:
Adabas D, Ingres, Oracle (OCI7 and OCI8), dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL, FilePro (read-only), mSQL, Solid Hyperwave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, Unix dbm.
También se cuenta con una extensión DBX de abstracción de base de datos que permite usar de forma transparente cualquier base de datos soportada por la extensión. Adicionalmente, PHP soporta ODBC (el Estándar Abierto de Conexión con Bases de Datos), asi que se puede conectar a cualquier base de datos que soporte tal estándar.
PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. Se pueden crear sockets puros. PHP soporta WDDX para el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma transparente como objetos PHP y la extensión de CORBA puede ser utilizada para acceder a objetos remotos.
PHP tiene unas características muy útiles para el procesamiento de texto, desde expresiones regulares POSIX extendidas ó tipo Perl hasta procesadores de documentos XML. Para procesar y acceder a documentos XML, soporta los estándares SAX y DOM. Puede utilizar la extensión XSLT para transformar documentos XML.
Si se usa PHP en el campo del comercio electrónico, se encontrarán muy útiles las funciones Cybercash, CyberMUT, VeriSign Payflow Pro y CCVS para los programas de pago.
Para terminar, cuenta con muchas otras extensiones muy interesantes, las funciones del motor de búsquedas mnoGoSearch, funciones para pasarelas de IRC, utilidades de compresión (gzip, bz2), conversión de calendarios, traducción, etc.