PHP什么都可以做。因为PHP主要是服务器端的脚本程序,所以可以使用PHP来执行任何其他CGI程序可以执行的事情,例如收集表单数据、生成动态网页、发送和接收Cookie等。但PHP的功能远不止这些。
服务器脚本。这是PHP最传统和主要的目标区域。它需要三个PHP解析器(CGI或服务器模块)、Web服务器和Web浏览器。运行Web服务器时,必须安装PHP进行配置。然后,您可以使用网页浏览器访问PHP程序的输出。也就是说,您可以在服务器端浏览PHP页面。如果你只是在尝试PHP编程,所有这些都可以在家里的电脑上运行。有关详细信息,请参见安装章节。
命令行脚本。PHP脚本可以写,运行它不需要服务器或浏览器。这样,只需要执行PHP解析器。此用法非常适合日常脚本,这些脚本依赖于“通用”或“Linux”或“Windows环境”。这些脚本还可以用于处理简单的文本。有关详细信息,请参见PHP命令行模式。
创建桌面应用程序。PHP可能不是最适合具有图形界面的桌面应用程序的语言,但如果用户对PHP非常熟悉,并且希望在客户端应用程序中使用其高级功能的一部分您可以使用PHP-GTK创建这些程序。您也可以这样创建跨平台应用程序。PHP-GTK是PHP的扩展功能,不包含在PHP包的通常分发中。
PHP可用于所有主要操作系统,包括Linux、Unix变型(包括HP-UX、Solaris和OpenBSD)、Microsoft Windows、macOS和RISC OS。目前,PHP已经支持大多数Web服务器,包括Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape和iPlant服务器、Oreilly Website Pro Server、Caudium、Xitami和OmniHTTPd。在大多数服务器上,PHP提供模块。有些PHP支持CGI标准,可以让PHP作为CGI处理器。
概括地说,PHP允许您自由选择操作系统和Web服务器。同时,您还可以选择在开发过程中使用面对面流程和/或两者。虽然PHP4并不支持所有OOP标准,但许多代码存储库和大型应用程序(包括PEAR库)仅使用OOP代码开发。PHP5引入了完整的对象模型,弥补了PHP4的这个弱点。
PHP不限于HTML的输出。也可以使用PHP动态输出图像、PDF文件,甚至Flash动画(使用libswf和Ming)。另外,输出XHTML或其他形式的XML文件等文本也非常简单。PHP可以自动生成这些文件,在服务器端打开动态内容的缓存,直接打印,保存到文件系统中。
PHP最强大和最值得关注的功能之一是支持广泛的数据库。使用数据库的任何扩展(如mysql)创建基于数据库的网页、使用抽象层(如PDO)或通过ODBC扩展连接到支持ODBC标准的任何数据库都非常简单。其他数据库(如CouchDB)也可能使用cURL或套接字。
PHP还支持使用LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等无数协议的服务。未加工的网络端口也可以打开,因此其他协议可以协同工作。PHP支持所有Web开发语言之间的WDDX复杂数据交换。对于互连,PHP已经支持立即连接到Java对象,并且可以透明地将它们用作PHP对象。
PHP具有非常有效的文本处理功能,包括Perl兼容正则表达式(PCRE)和许多可用于分析和访问XML文档的扩展和工具。PHP将所有XML功能标准化为可靠的libxml2扩展,并添加SimpleXML、XMLReader和XMLWriter支持来扩展其功能。