<p>PHP能做任何事。PHP主要是用于服务端的脚本程序,因此可以用PHP来完成任何其它的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。但PHP的功能远不局限于此。</p><p>PHP 脚本主要用于以下三个领域:</p><p><strong>1、服务端脚本。</strong></p><p>这是PHP最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP解析器(CGI或者服务器模块)、web服务器和web浏览器。需要在运行web服务器时,安装并配置PHP,然后,可以用web浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。如果只是实验PHP编程,所有的这些都可以运行在自己家里的电脑中。请查阅安装一章以获取更多信息。</p><p><strong>2、命令行脚本。</strong></p><p>可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要PHP解析器来执行。这种用法对于依赖cron(Unix或者Linux环境)或者TaskScheduler(Windows环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅PHP的命令行模式以获取更多信息。</p><p><strong>3、编写桌面应用程序。</strong></p><p>对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言,但是如果用户非常精通PHP,并且希望在客户端应用程序中使用PHP的一些高级特性,可以利用PHP-GTK来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK是PHP的一个扩展,在通常发布的PHP包中并不包含它。如果对PHP-GTK感兴趣,请访问其网站以获取更多信息。</p><p>PHP能够在所有的主流操作系统上使用,包括 Linux、Unix 的各种变种(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已经支持了大多数的 web 服务器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。对于大多数的服务器,PHP提供了一个模块;还有一些 PHP 支持 CGI 标准,使得 PHP 能够作为 CGI 处理器来工作。</p><p>综上所述,使用PHP,可以自由地选择操作系统和web服务器。同时,还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管PHP4不支持OOP所有的标准,但很多代码仓库和大型的应用程序(包括PEAR库)仅使用OOP代码来开发。PHP5弥补了PHP4的这一弱点,引入了完全的对象模型。</p><p>使用PHP,并不局限于输出HTML。PHP还能被用来动态输出图像、PDF文件甚至Flash动画(使用libswf和Ming)。还能够非常简便的输出文本,例如XHTML以及任何其它形式的XML文件。PHP能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。</p><p>PHP最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如mysql)编写数据库支持的网页非常简单,或者使用抽象层如PDO,或者通过ODBC扩展连接到任何支持ODBC标准的数据库。其它一些数据库也可能会用cURL或者sockets,例如CouchDB。</p><p>PHP还支持利用诸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP支持和所有web开发语言之间的WDDX复杂数据交换。关于相互连接,PHP已经支持了对Java对象的即时连接,并且可以透明地将其用作PHP对象。</p><p>PHP具有极其有效的文本处理特性,包括Perl兼容正则表达式(PCRE)以及许多扩展和工具可用于解析和访问XML文档。PHP将所有的XML功能标准化于坚实的libxml2扩展,并且还增加了SimpleXML,XMLReader以及XMLWriter支持以扩充其功能。</p><p>另外,还有很多其它有趣的扩展库,在此根据字母和分类归类列出。还有一些附加的PECL扩展可能有也可能没有在PHP手册中列出,例如XDebug。</p>