网站
PHP
实现
技术
网站的PHP实现技术,PHP是一种服务器端解释执行的脚本语言。如果用户接触过ASP的话,那么对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。这种模式可以用来完成相当复杂的功能。PHP是编程语言和应用程序服务器的结合。它和其他编程语言类似,使用变量存储临时数值,使用操作符处理变量。PHP的真正价值在于它常用于网站的应用程序服务器。,1 PHP概述,PHP(原意为Personal Home Page),是一种跨平台的服务器端嵌入式脚本技术。PHP页面是一种文本文件,是在普通HTML页面文件中嵌入PHP脚本语句,由服务器解释和翻译成普通的HTML文件,然后传送给客户端浏览器,这一点和ASP一样。PHP是用C语言编写而成,可运行于Unix/Linux和Windows 9x/NT下。目前最新的版本为PHP 4.0,而常用的版本为PHP 3.0。,1 PHP概述,PHP的网上资源如下:(1)官方网站:http:/www.PHP.net/(2)说明手册:可在官方网站上查阅或下载说明文件。或者在安装完成后,在PHP的目录底下的子目录./doc中取得,该手册为html格式,可用浏览器直接浏览。,1.1 网站的PHP实现技术的特点,在网站的实现技术方面,PHP具有四个主要的特点。1.快速PHP是一种非常强大的CGI脚本语言,其语言特点基本上源于C语言,实现方式更像PERL,而其对数据库的内在支持更使之成为ASP的强大对手。同时,PHP是一种服务器内置式的Script语言,语法上混合了C、Java、Perl等语言的、以及PHP式的新语法,执行动态网页比CGI或者Perl更快,这是它的第一个突出的优点。它的出现使得在Unix上更快速地开发动态Web成为现实。它与Javascript等语言的一个区别就是PHP是在服务器执行,客户机所看到的是其在服务器上运行的结果。,1.1 网站的PHP实现技术的特点,2.适合于网络开发领域对于网络开发领域,PHP是最合适的。因为PHP是被设计用来编写Web应用程序的语言,所以对于为它度身量作的任务Web站点的开发,无疑最能胜任。按照David Medinets的说法:PHP是编程语言和应用程序服务器的结合。PHP和其他的编程语言类似,使用变量存储临时数值,使用操作符处理变量。PHP的真正价值在于它是一个应用程序服务器。所谓的应用程序服务器,是指一个把几项不同的技术组合为一个完整套件的程序。这些技术包括:,1.1 网站的PHP实现技术的特点,(1)一个功能强大的编程语言。(2)存取数据库中存储的资料。(3)支持Internet协议,尤其是电子邮件和HTTP协议。PHP在Internet上,支持了许多的通信协议(Protoco1),包括了与电子邮件相关的IMAP、POP3、网管系统SNMP、网络新闻NNTP、账号共享NIS、全球网HTTP及Apache服务器、目录协定LDAP以及其他网络的相关函数。,1.1 网站的PHP实现技术的特点,3.跨平台PHP具有在不同操作平台下适用的版本,也提供源代码版本。PHP可支持多种主流与 非主流数据库,包括常用的DBA、dbase、dbm、filePro、Informix、InterBase、mSQL、Microsoft SQL Server、MySQL、Solid、Sybase、ODBC、Oracle 8、Oracle、Postgre SQL等。用PHP写出来的Web后端CGI代码,可以很轻易地移植到不同的平台上。例如,用 Linux架构的网站,在系统负荷过高时,可以快速地将整个系统移到SUN工作站上,不用重新编译CGI程序。面对快速发展的Internet,这是长期规划的最好选择。,1.1 网站的PHP实现技术的特点,4.功能全面PHP的功能非常全面,包括英文拼写检查、BC高精确度计算、西洋历法、PDF文件格式、Hyperwave服务器、图形处理、编码与解码功能、杂凑处理、WDDX功能、qmail系统、压缩文件处理、XML解析,除此之外,对于一般语言有的数学运算、时间处理、文件系统、字符串处理、行程处理等功能,它也同样擅长。PHP支持HTTP的身份认证、Cookie、GIF图像创建,其最有代表性的特点是它的数据库层,这使得编写基于数据库的网页变得非常简单。PHP也支持POP3、HTTP、SNMP、NNTP、IMAP等协议,并可采用它们的服务进行网络编程。,1.2 PHP运行环境,PHP具有跨平台特性,可以与多种数据库连接,其中:Linux+Apache+MySQL是它的最佳组合,效率也是最高的。1.MySQLMySQL是一个小巧灵珑的数据库服务器软件,对于小型系统是非常理想的。除了支持标准的ANSI SQL语句,它还支持多种平台,而且在Unix系统上该软件支持多线程运行方式,因此性能相当好,所以它与类Unix的Linux配合十分默契。而对于不使用Unix/Linux的用户,它可以在Windows NT/2000系统上以系统服务方式运行,或者在Windows 9x系统上以普通进程方式运行。MySQL的组合可以跨平台运行,这就意味着可以在Windows上开发,然后在Unix/Linux平台上运行。另外,PHP也能作为标准的CGI进程来运行,此时它是一个独立的脚本解释器,或者是Apache的一个嵌入模块。,1.2 PHP运行环境,2.LinuxLinux是一套免费使用和自由传播的类Unix操作系统,Linux以它的高效性和灵活性著称。它能够在PC计算机上实现Unix特性,具有多任务、多用户的能力。Linux最大的特点在于它是GNU(Gnus Not Unix)的一员,遵循公共版权许可证(GPL),秉承“自由的思想,开放的源码”的原则,对计算机爱好者完全开放的操作系统。选择Linux有如下几个优点:(1)Linux是“免费”的,包括其附带的的“免费”软件,可以极大 地降低总成本(TCO)。(2)Linux比较稳定而且性能相当地好。,1.2 PHP运行环境,(3)Oracle、Infomix、Sysbase、IBM等许多公司都支持Linux,用它来做数据库平台也非常好。(4)Linux本身就是通过网络来协同开发的,所以非常适合Internet/Intranet。(5)开放的源代码特性使得用户可以根据自己的要求来添加或删除某些功能,其可定制性极为方便。,1.2 PHP运行环境,3.ApacheApache是基于UNIX平台的,它功能强大,安全系数高,而且十分稳定。Apache是目前用来当“虚拟主机”的最热门的后台软件。所谓的“虚拟主机”主要是指“虚拟网络服务”,通过它与真实的服务器配合就可以完成整个服务。,1.2 PHP运行环境,Apache服务器的设计不但与NCSA httpd 1.3相容,并且提供了以下功能:(1)作为身份验证之用的DBM资料库。(2)自定的(Customised)错误与问题回应方式。(3)多重的directoryIndex指令。(4)不限次数的Alias以及Redirect指令。(5)以内容为基础的文件协商。(6)虚拟服务器。,1.2 PHP运行环境,4.PHP的最佳组合及运行环境用户一般可以选用以下环境:(1)服务器端运行平台:Linux(2)后台Web服务器:Apache(3)数据库:MySQL(4)客户端运行平台:Windows 9x、Windows NT或者Windows 2000(5)支持软件:IE浏览器(4.0以上)或其它兼容的浏览器(6)编程软件:Dreamweaver、Flash、FrontPage等。,1.2 PHP运行环境,利用Apache+MySQL+Linux+PHP就可以建立起网站并提供网络服务了。关于Apache、MySQL与Linux其他信息请参考相关书籍。,1.3 PHP访问数据库的机制,PHP访问数据库的工作过程如下:(1)客户在浏览器地址栏目输入要访问的PHP页面的URL,发出一个PHP请求。(2)Web服务器接受该请求,根据扩展名.php识别出PHP文件,并找出相应的PHP文件。(3)Web服务器把PHP文件发送到PHP引擎。(4)PHP引擎将PHP文件从头至尾进行扫描,根据命令连接后台数据库。(5)数据库管理系统对数据库进行操作,并将用户请求数据通过数据库管理系统上传到PHP引擎。,1.4 PHP与其它的网站实现技术的比较,网站实现技术有很多种,而PHP只是其中的一种。下面对目前流行的三种网站实现技术ASP、PHP与JSP技术进行比较。,1.4 PHP与其它的网站实现技术的比较,其中,JSP(Java Server Pages)是一种崭新的动态网页制作技术,它具有跨平台与跨网络服务器支持,以Java为主的技术来产生动态网页。JSP与Microsoft的ASP兼容,但它是使用类似HTML的卷标以及Java程序代码片段而不是VBScript。当用户使用Apache或Netscape服务器时,并不能提供ASP支持,这时可以考虑JSP。虽然也可以取得这些服务器的ASP附加配备模块,但价格相当昂贵,目前Sun并没有对JSP组件收取费用。同时对于Solaris与Linux以及Windows,这些组件也都很容易取得。但请不要将JSP与服务器端的JavaScript混在一起。网络服务器会将用JSP写成的Java程序代码片段自动转换成Java servlets。而先前许多必须以Perl手写的程序或服务器特定的API(如ASP)控制的功能也都可通过JSP来自动化处理,1.4 PHP与其它的网站实现技术的比较,ASP、PHP与JSP技术的平台性能比较见表9-l。,2 PHP的功能特点,PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页。它功能强大,和HTML脚本融合在一起,并具有内建访问数据库的能力。它能够作为Apache Web服务器的模块执行,也使得它的执行效率要高于普通的CGI程序。,2.1 PHP的HTTP认证功能,HTTP认证功能仅当PHP作为Apache的模块运行时才可用。在一个Apache的PHP解析模块中,可以使用Header()函数发送一个“请进行身份验证”的消息到客户端的浏览器上,这将在客户端弹出一个要求输入用户名和密码的窗口。当用户填入了用户名和密码后,包含该段PHP程序的网页会再次被调用,有三个变量被传入程序,SPHP_AUTH_USER、SPHP_AUTH_PW和SPHP_AUTH_TYPE分别代表用户名、密码和认证类型。(此功能只支持基本身份验证)。,2.1 PHP的HTTP认证功能,下面是一段HTTP认证的程序:?If(!isset($PHP_AUTH_USER)Header(WWW-Authenticate:Basic realm=My Realm);Header(HTTP/1.0401 Unauthorized);echo Text to send if user hits Cancel buttonn;exit;else,2.1 PHP的HTTP认证功能,if(!($PHP_AUTH_USER=tnc,2.1 PHP的HTTP认证功能,elseecho Welcome tnc!;?,2.1 PHP的HTTP认证功能,以上的例子通过用户名称/密码对tnc/nature来验证一名用户的登录,事实上在实际应用中不大可能如上面那样,使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件来存取它们。但是要注意,以上方法不能阻止某些人使用在该服务器上已经获得认证的URL来窃取密码,从而对非授权URL进行控制的情况。,2.2 使用PHP生成动态的GIF图像,PHP不但可以输出HTML,也可以方便地生成动态的GIF图像文件,甚至GIF格式的图像流。为此要将PHP和提供图像函数GDlibrary一起编译。下面是用PHP创建GIF动画的示例程序。?Header(Content-type:image/gif);$string=implode($argv,);$im=imagecreatefromgif(images/buttonl.gift);$orange=ImageColorAllocate($im,220,210,60);,2.2 使用PHP生成动态的GIF图像,px=(imagesx($im)-7.5*strlen($string)/2;ImageString($im,3,$px,9,$string,$orange);ImageGif($im);ImageDestroy($im);?这个文件可以通过网页中类似的语句来调用。上面这段程序button.php3取出字符串“text”并且把它写到背景图上(本例中是“images/buttonl.gif”),然后输出所得到的图像。这样就可以很方便地制作文字不同而样式相同的按钮,而不必去一一重画了。在程序中它们将被动态地生成。,2.3 文件上传支持,利用PHP用户能够从任何兼容RFC-1867标准的浏览器上传文件。这个功能使用户既可以上传文本文件也可以上传二进制文件。结合PHP的认证和逻辑函数,能够完全控制谁可以上传文件,和文件上传后可以干什么。要实现文件上传,需要建立一个特殊的FORM,请看下面的例子:,2.3 文件上传支持,Send this file:其中的URL是一个用于响应的PHP文件,隐藏的MAX FILE-SIZE参数必须写在输入文件字段之前,它指明了可以上传的文件的最大字节数。上载传输成功后,下面的变量将被定义:,2.3 文件上传支持,$userfile:用户上传到服务器上的文件临时存放的名称。$userfile_name:在用户机器上该文件的原始名称。$userfile_size:上传文件的实际字节数。$userfile_type:如果用户的浏览器提供了这个信息的话,它表示MIME的类型。例如“image/gif”。,2.3 文件上传支持,“$userfile”这个变量是上面表单中TYPE=file的字段的名字,在例中称为“userfile”。文件被存储在服务器上默认的临时目录下。用户可通过手工设置PHP运行的环境变量中的TMPDIR来进行设置。该变量不能通过程序中的PutEnv()函数设置。表单中指定的PHP程序,可以控制上传了的文件用来干什么。比如,可以使用Stlle_size 变量来决定抛弃那些太大或太小的文件;可以通过比较Sille_type变量剔除类型不匹配的文件。总之,用户可以决定是把那个文件从临时目录里删除还是移到别的地方去。另外,有一个问题值得注意,CERN的httpd服务器可能删掉content-type中MIME数据头后第一个空白开始的所有数据,因此,CERN的httpd服务器不支持文件上传。,2.4 HTTP Cookie的支持,PHP 支持基于HTTP的Cookies。在需要时可以像使用一般变量一样方便地使用 Cookie。Cookies是浏览器保存于客户端的一些信息片段,由此可以知道某一台某特定PC上的人是否访问过用户的站点及浏览者在网站上的踪迹等。使用Cookies的典型例子就是对浏览者偏好的辨别。Cookies由函数setcookie()设定。与输出HTTP标头的函数header()一样,setcookie()必须在任何实际内容输出到浏览器之前调用。以下是一个简单例子:,2.4 HTTP Cookie的支持,?if(empty($VisitedBefore)/如果没有设定cookie,为cookie赋上当前时间值/函数中的最后一个参数声明了该cookie保存的时间/在这个例子中是1年/time()函数返回自1970年1月1日以来的以秒数计的时间SetCookie(VisitedBefore,time()+(60*60*24*365);,2.4 HTTP Cookie的支持,else/欢迎浏览者再次光临echo Hello there,welcome back;/读取cookie并判断 if(time()-$VisitedBefore)=(60*60*24*7)echo Why did you take a week to come back.You should be here more oftett?;?,2.5 PHP 4.0的功能新特性,比较来说PHP 4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0快,其脚本描述更强大并且更复杂,最显著的特征是速率比的增加。PHP 4.0这些优异的性能是PHP脚本引擎重新设计产生的结果:引擎由AndiGutmans和ZeevSuraski从底层全面重写。PHP 4.0脚本引擎Zend引擎使用了一种更有效的“编译执行”范式,而不是PHP 3.0采用的“执行当解析时”模型。PHP 4.0在3.0版的基础上增加或增强了许多有用的特性,主要列举如下:,2.5 PHP 4.0的功能新特性,别名:在PHP 4.0中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。(1)扩充了API模块:PHP 4.0为API模块提供了扩展PHP接口模块,它比旧API版本显著地加快。PHP模块已有的及最常用的接 口多数被转换为使用这个扩展的接口。(2)自动资源释放:PHP 4.0增加了引用计数功能,这种新技术的引入使PHP 4.0具有了自动管理内存功能,减轻了开发人员的负担。(3)布尔类型:PHP 4.0支持布尔类型。(4)进程生成:在UNIX环境下的PHP 4.0提供了一个很智能和通用的生成进程,使用了一种基于automake/1ibtool的系统生成技术。,2.5 PHP 4.0的功能新特性,(5)COM/DCOM支持:PHP 4.0提供COM/DCOM支持(仅用于Windows环境)可以无缝地存取和访问COM对象。(6)与PHP3.0有很好的兼容性:PHP 4.0与PHP 3.0代码向后兼容性接近100。(7)配置:PHP 4.0重新设计和增强了php.ini文件,这使得用php.ini来配置PHP显得极为容易,全部文件能被Apache在运行时间操作(在Apache环境下)或由Windows注册表(在Windows下面)操作。被加入php.ini文件的配置指令自动地在所有相关的模块中被支持。(8)加密支持:PHP 4.0实现了完整的加密,这些加密功能是一个完整的mycrypt库,并且PHP 4.0支持哈希函数、Blowfish、Triple DES、MD5,而且SHAl也是可使用的一些加密算法。,2.5 PHP 4.0的功能新特性,(9)类型检查:PHP 4.0支持同一操作符用于类型检查:“=”(3等号运算符),为在两个值和其类型之间作检查。例如,“3”=3将视为假(类型是不同的),而“3”=3(相等判断)将视为真。(10)FTP支持:PHP 4.0支持FTP。通常,用户会为通过调制解调器连接下载一个大文件提供一个网接口。此时如果需要,可以用PHP。(11)PHP 4.0新增函数或功能增强函数:PHP 4.0新增了许多函数,同时也将许多现有 的函数功能进行了增强,例如,array count_values()、eval()、foreach()、nclude()、ob_end_clean()、ob_end_flush0、ob_get_contents()、ob_start()、strip_tags()、unset()。,2.5 PHP 4.0的功能新特性,(12)HTTP Session fallback系统:为HTTP Session管理的一个fallback系统在PHP 4.0 被实现。默认情况下,Session标识符由Cookies存储。如果没有Cookies支持或一项 Cookies任务失败,Session标识符自动被创建并在URL的查询字符串中被携带。(13)ISAPl支持:PHP 4.0能作为一个个性化的ISAPI模块而成为IIS插件。这比PHP 3.0作为CGI运行(一个外部的程序)更为有效。(14)内存使用:PHP 4.0能更有效地使用内存,较少的内存占用和消耗,这主要归功 于引用计数技术的实现。(15)其他类成员函数:在PHP 4.0中能在成员函数本身的作用域或全局范围内调用其 他类的成员函数。例如,用一个子函数覆盖父函数,并在子函数中调用父函数。,2.5 PHP 4.0的功能新特性,(16)多维数组:在PHP 4.0中,利用GET、POST、Cookies进行的数据传输支持多维数组。(17)个性化的HTTP Session支持:HTTP Session处理,包括fallback系统管理,在 PHP 4.0中被它的新库函数实现。在PHP3.0中处理Session要求使用PHPLIB和第三方的 库函数,这比把Session直接由PHP支持慢了许多。(18)个性化的Java支持:PHP4.0支持与Java的交互。这种个性化的Java支持为PHP 在Java对象上创建和使用方法提供一个简单并且有效的工具。(19)对象和嵌套数组:PHP 4.0实现了功能更加强大的对象,移去了PHP 3.0中存在的句法限制。对象能在数组内嵌套,同样数组也能在对象内嵌套,可以根据你的需要实现。,2.5 PHP 4.0的功能新特性,(20)面向对象的编程:PHP 4.0为面向对象的编程和构造类及对象提供扩展的功能和新特征。(21)对象重载支持:对象重载语法允许第三方的基于面向对象的类库使用PHP 4.0的 面向对象的特征存取它们自身的功能。使用这个特征的一个COM模块已经被实现了。(22)输出缓冲支持:PHP提供了一个输出缓冲函数集合。在PHP4.0中的输出缓冲支持并允许HTML头信息存放,无论HTML的正文是否已经输出。头信息(heade(),content type,and Cookies)不采用缓冲。(23)增加了PCRE库:PHP 4.0包括一个Perl兼容的正则表达式(PCRE)库,和正常regex库一起与PHP绑定。Split和Replace PCRE功能被支持。PCRE和Perl正则表达式之间有一些细微差别。,2.5 PHP 4.0的功能新特性,(24)php.ini文件:php.ini文件在PHP 4.0中被重新设计,使用的PHP的配置php.ini是更容易并且更有效的。全部文件能被Apache在运行时间操作(在Apache环境下)或由 Windows注册表(在Windows)操作。被加入php.ini文件的配置指令自动地在所有相关的模块中被支持。(25)引用计数:PHP 4.0为系统中的每个数值包括资源提供了引用计数,一旦一个资源不再被任何变量引用,它自动地被释放以节省内存资源。利用这个特征的最明显的例子是一个内置SQL查询的循环语句。在PHP 3.0中,每次递归另外的SQL结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。(26)支持引用:通过引用可以改变一个变量的值。,2.5 PHP 4.0的功能新特性,(27)函数运行时的绑定:PHP 4.0的运行时间绑定功能允许你在它们被声明以前调用,无论声明是否在代码以后或是在运行期间。(28)类的运行时信息:PHP 4.0支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。(29)服务器抽象层:为支持Web服务器提供了增强型SAPI(服务器API)接口,是 PHP 4.0不可分的一部分。这个服务器抽象层,提供了通用的Web服务器接口支持,支持 多线程Web服务器,为大多数的Web服务器提供透明的支持,这些服务器包括Apache、IIS(ISAPI),以及AOL服务器。,2.5 PHP 4.0的功能新特性,(30)语法的点亮显示:PHP 4.0语法的点亮显示允许开发者看见源代码而不是脚本,这个功能比PHP 3.0中的更有效。它跑得更快,执行得更好,并且产生更紧凑的HTML 代码。(31)由引用改变变量的值:PHP 4.0由引用支持可变的赋值,“关联”的两个变量之中的任何一个的值被改变,另外的变量的值同样被改变,这类似于C中的指针类型。(32)在引用字符串中的变量引用:PHP 4.0增强了在引用字符串中的变量引用。例如,print“$a0bingo”,这个例子在PHP 3.0中是不可能做到的,但在PHP 4.0中却可以。,3 PHP的安装,3.1 Windows 2000+Apache下安装配置PHP 4.0安装环境及所需软件:操作系统:Windows2000 Professional简体中文版 数据库:MySQL Shareware 3.22.34 for WIN32 PHP4.0:PHP4.0.1 for WIN32 服务器:Apache 1.3.12 for WIN32 数据库管理工具:phpmyadmin 2.10,3.1 Windows 2000+Apache下安装配置PHP 4.0,第一步:Apache的安装 运行Apache_1_3_12_win32.exe,按照提示安装,安装目录不妨为:C:apache。修改C:apachehttpd.conf,去掉ServerName前的“#”号,后面跟本机的IP地址。运行C:apacheapache-i,将Apache安装成为Windows 2000的一个服务。运行net start apache启动Apache。将C:apachehtdocsindex.html.en改名为index.html。,3.1 Windows 2000+Apache下安装配置PHP 4.0,第二步:测试Apache在浏览器地址栏中输入:http:/localhost,看一下该web服务器运行的效果。第三步:MySQL快速安装 将mysql-shareware-3.22.34-win.zIP解压缩到一个临时目录下,然后运行setup.exe,使用默认值进行安装。运行C:mysqlbinnysqld-shareware-install,将mysql安装成Windows 2000的一个服务。运行net start mysql命令或到“设置-控制面板-管理工具-服务”中启动mysql服务。,3.1 Windows 2000+Apache下安装配置PHP 4.0,第四步:测试MySQL在命令提示下,进入C:mysqlbin的目录,运行mysqlshow命令,如果没问题的话,应该能看见mysql中的两个数据库test和mysql。第五步:PHP4.0快速安装 将php-4.0.1-Win32.ZIP解压缩到一个目录下,例如C:HP4.0。将C:apachephpphp.ini-dist拷贝到C:winnt目录下,并改名为php.ini。将C:apachephpPHP4.0ts.dll拷贝到C:winntsystem32目录下。修改C:apacheconfhttpd.conf,在AddType application/x-httpd-php3-source.phps这行下方加入如下几行:,3.1 Windows 2000+Apache下安装配置PHP 4.0,ScrlPtAlias/PHP4.0/“C:/PHP4.0/,Addtype application/x-httpd-php.phpAction application/x-httpd-php“/PHP4.0/php.exe”重新启动Apache,既可以用net stop apache、net start apache命令,也可以到“设置-控制面板-管理工具-服务”处启动。,3.1 Windows 2000+Apache下安装配置PHP 4.0,第六步:测试PHP4.0。创建一个文件C:apachehtdocsinfo.php,其内容如下:然后在浏览器地址栏中输入:http:/localhost/info.php,即可测试。第七步:安装PhpMyAdmin。如果完全按照以上步骤进行,就可得到Apache+MySQL+PHP4.0的运行环境了。事实上,以上方法在Windows NT4.0中一样可行。,