PHP 的功能概述

来源:互联网 发布:dtcms5.0旗舰版源码 编辑:程序博客网 时间:2024/05/17 00:59

PHP 的功能概述
--------------------------------------------------------------------------------
 
PHP 在资料库方面的丰富支援,也是它迅速窜红的原因之一,它支援下列的资料库或是资料表:

Adabas D
DBA
dBase
dbm
filePro
Informix
InterBase
mSQL
Microsoft SQL Server
MySQL
Solid
Sybase
ODBC
Oracle 8
Oracle
PostgreSQL
而在 Internet 上它也支援了相当多的通讯协定 (protocol),包括了与电子邮件相关的 IMAP, POP3;网管系统 SNMP;网路新闻 NNTP;帐号共用 NIS;全球资讯网 HTTP 及 Apache 伺服器;目录协定 LDAP 以及其它网路的相关函式。

除此之外,用 PHP 写出来的 Web 后端 CGI 程式,可以很轻易的移植到不同的作业平台上。例如,先以 Linux 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程式。面对快速发展的 Internet,这是长期规划的最好选择。

在加入其它的模组之后,提供了更多样的支援如下:

英文拼字检查
BC 高精确度计算
西洋历法
PDF 档案格式
Hyperwave 伺服器
图形处理
编码与解码功能
杂凑处理
WDDX 功能
qmail 与 vmailmgr 系统
压缩档案处理
XML 解析
除此之外,一般语言有的数学运算、时间处理、档案系统、字串处理、行程处理等功能,它一样都不缺。再加上它是免费的系统,使得成本与效益比,几乎等于无限大!

 

PHP 与其它 CGI 的比较
--------------------------------------------------------------------------------

无可置疑的,写 CGI 的方式有很多种,而 PHP 只是其中的一种选择罢了。对资深的 Webmaster 而言,CGI 的写作介面应是随着需求而更动。毕竟,在一个对系统反映速度要求极严格的系统而言,恐怕只有 NSAPI 介面写的 CGI 程式才能符合要求了。在其它的场合,相信使用 PHP 来作为 CGI 的介面是游刃有余,而且是最适合的。
 
程式介面 PHP ASP CGI NSAPI ISAPI   
作业系统 均可 Win32 均可 均可 Win32   
Web伺服器 数种 IIS 均可 Netscape Server IIS   
执行效率 快 快 慢 极快 极快   
稳定性 佳 中等 最高 差 差   
开发时间 短 短 中等 长 长   
修改时间 短 短 中等 长 长   
程式语言 PHP VB 不限 C/C++ C/Delphi   
网页结合 佳 佳 差 差 差   
学习门槛 低 低 高 极高 高   
函式支援 多 少 不定 中等 少   
系统安全 佳 极差 最佳 佳 尚可   
使用站台 超多 多 多 极少 少   
改版速度 快 慢 无 慢  

其中的 PHP 可用在数种 Web 伺服器上;传统 CGI 就不限是哪种作业系统或 Web 伺服器平台;NSAPI 一定要在 Netscape 的伺服器 (如 Netscape Enterprise Server 或 FastTrack Server) 上才可以执行,但可支援多种作业系统 (UNIX 或 Win32);ASP 及 ISAPI 只在 IIS 上有完整的功能。

在稳定性上,由于 NSAPI 或 ISAPI 是动态连结的方式,因此在执行若出现问题,会使得 Web 伺服器一起瘫痪。而 ASP 在吾人实际应用经验上,隔阵子就会使系统不稳定,需要重开作业系统。PHP 在许多的站台使用上,不但长期使用都没有问题,而且程式的稳定性也不错。当然最稳的还是传统 CGI 程式,因为它是由作业系统负责控制,不会因 CGI 程式的错误导致 Web 伺服器的不稳定。

在开发及维护时间上,PHP 及 ASP 都有不错的表现。而 NSAPI 及 ISAPI 则需要长时间的开发过程,在稳定上线后,这二种介面反倒是效率最佳的方法。传统的 CGI 程式则要视开发工具语言而定了,用 Perl 或是 shell script 不需要编译的过程,直接就可以执行,若用 Delphi 或 VC/BCB 甚至用组合语言等都要经过编译才能执行,至于用 VB 来写传统 CGI,唉....。

要比较和网页结合的能力,PHP 和 ASP 是并驾齐驱的,其它的方式就不能内嵌 HTML 语法了。而这也是影响开发时间的因素之一。

就系统安全性而言,ASP 是最差的,在没有经过微软的 IIS Service Pack 处理过,使用 ::$DATA 就可以看到 ASP 的原始码,这真是叫人不敢领教。当然,传统 CGI 的程式,由于是由作业系统直接管理,要破解的难度最高,骇客必须由作业系统下手,而不能由 Web 伺服器下手。PHP 在许多商业及非商业使用时,也没有听过有什么安全的问题。

在新增功能及改版方面,传统的 CGI 由于不受任何语言限制,没有这方面的问题。PHP 是最有活力的,数天至数周就有一个新版本出现,每次的新版,就代表更多的功能及修正更多的错误。其它的 ASP、NSAPI、ISAPI 就视它的 Web 伺服器改版速度了,ASP 要等到 IIS 5.0 出现时才会有 ASP 3.0,也就是要等到 Windows 2000 正式上市。

综言之,在 Web 的后端 CGI 程式,就像鱼与熊掌一般,没有高效能又开发方便的选择。不过相信 PHP 是处于开发容易、效能亦不错的平衡点上。

 

安装与设定
环境需求与准备工作
--------------------------------------------------------------------------------
 
在安装 PHP 做为 WWW 伺服器的一部份时,我们可以考虑用 UNIX 作业系统;或者是 Windows NT/95 等 Win32 API 的平台。当然,大部份的人都会使用 UNIX 来当作 PHP 的执行平台 (在 Windows NT 的使用者大多数都会选择 IIS + ASP),因此,本书的所有内容以及范例程式都是在 UNIX 上为主。实际上,Linux + Apache + PHP 应是最经济的选择,因为这样的组合几乎是不用钱的,成本与效益比这也是最好的选择。而许多成功站台的经验,更是采用这种组合最好的背书。
Linux 作业系统方面,您可以选择各式的 Linux 套件,包括 Slackware Linux、RedHat、OpenLinux、SuSE....等等,反正这方面的软体在坊间也是很容易而且很便宜就可以买到。对学生而言,也可以去各大 FTP 站下载完整的系统安装。

Apache 伺服器则是目前最多 WWW 网站所采用伺服器。您可以至 http://www.apache.org 下载最新版的程式及相关文件,若您觉得从国外下载要很久的话,也可以用它的 Mirror 站台下载。

PHP 则可以去它的官方网站 http://www.php.net 下载所需要的程式。

虽然目前 WindowsNT 或者 Windows98 等 Win32 的作业平台也能安装 PHP 及 Apache 伺服器,不过这似乎没什么道理,因为 PHP 和 Apache 在 UNIX下可以跑得更快更好。

当然,若想使用商业化的作业平台,SUN、IBM、HP、DEC、SGI、NEC 等公司都有提供相关的 UNIX 或者是 WindowsNT 的作业平台。加上高安全性调整过后的 Apache 伺服器:Stronghold 或是其它支援 SSL 的 Apache 版本。这种组合,相信能满足商业化的需求。而 PHP 就扮演着快速方便的 CGI 角色,让客户对站台的服务品质更加满意。