首页技术iis php 性能(iis对比apache性能)

iis php 性能(iis对比apache性能)

编程之家2026-06-09845次浏览

各位老铁们好,相信很多人对iis php 性能都不是特别的了解,因此呢,今天就来为大家分享下关于iis php 性能以及iis对比apache性能的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

iis php 性能(iis对比apache性能)

asp与php的优缺点

PHP比ASP更优秀:

1、速度、速度、速度

当我第一次运行PHP脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166MHZ的机器上运行我的程序的,但运行的速度仍然很快。

ASP是永远也不会象PHP这样快的,因为ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。

在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。

下面是我们在MSSQL740次运行一个查询语句的执行时间统计:

iis php 性能(iis对比apache性能)

PHP Querying MSSQL7时间(秒)

用 MSSQL extension 01.88

用 ODBC extension 09.54

用 ODBC via COM(ADO) 17.28

用OLEDB via COM 06.19

当我们使用PHP.ODBC,访问数据库用了9.54秒,而用COM接口去连接数据库需要比PHP所用的时间高80%。

iis php 性能(iis对比apache性能)

OLEDB是微软的一种高速访问数据库的技术,他比ODBC要快。但当我们所PHP和OLEDB的效率实验时,结果是PHP的整体性能比OLEDB高200%,如此的出一个结论,如果不采用COM可以获得较快的执行速度。

当然PHP的执行速度还不是最快的,但我们才刚刚开始起步,我们会逐步的完善他,而且PHP是一种开放源代码编程语言,世界上许多程序员在不断的完善他的技术,相信他一定会比非开放源代码系统获得更高的执行速度的。

2、高级内存管理

在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,IIS5解决了这个问题,但只有windows2000才支持IIS5,由于这种IIS5的不能向下兼容的原因,许多服务器仍然要使用IIS4下的低级的内存管理。

而在PHP中,不会存在这种问题,只有当require时,才会调用某个include文件。

3、没有后顾之忧

我非常憎恨的一件事情就是会买到一件不放心的产品,比如当你买了一辆汽车,但由于发动机是坏的,你需要更换他;当你买了一栋房子的时候,你要去修补漏雨的屋顶。

那么ASP旧乡这些产品一样,当你买了ASP之后,如果你需要加密技术,你就要买ASPEncrypt;当你需要Email管理时,你就要买ServerObjets Qmail;当你需要文件上传时,你还要买Artisans SA-FileUp.

4、MySQL使PHP更精彩

PHP与MySQL的组合既简单又精彩。PHP有许多管理和维护MySQL的工具,对MySQk的支持是最全面的。许多有用的函数如mysql_insert_id和mysql_affected_rows等,其他的数据库则没有。

ASP和PHP都是中型网站的较理想的解决方案,但PHP与MySQL的紧密结合使PHP更加优越。

MySQL的虚度比Microsoft Access速度快,Mssql和Oracle速度比MySQL要快,可是费用较高。

5、Java和C++的变成风格

这个优点只是一个看法。

我知道你不会相信一个Visual Basic程序员会因为PHP有Java和C++的编程风格而转向使用PHP,但你会相信有许多人还是喜欢Java和C++的,PHP是一种具有这两种语言的编程风格的较容易学习的语言。

PHP支持结构化编程,在VB因为他的继承性使用类还是较少的。而PHP的象Java和C++一样的继承性使一个大型的程序中到处都充满了类的影子。

6、Bug的处理。

你是否曾经要求Microsoft修改ASP的一些Bug呢?如果你不是一个象Boeing一样的组织,你无法获得迅速而恰当的修改,把么当你遇到Bug而停止工作时,如果这个Bug不修改,你将无法继续你的工作的。

PHP,当你发现Bug时,你可以修改他,如果你没有专家的水平,你可以请专家修改,并且你的修改会得到开放代码组织的接受和认可。

7、移植性

Microsoft经常修改ASP,下一版本叫ASP+,现在已经开始测试。我相信他们会修改许多我曾经提到过的问题。但也无庸质疑的,Microsoft会将你限制在他们的产品范围之内的。

我曾经是一个苹果机的程序员,当windows95问世后,我开始转变,但许多原来的代码都无法在windows95下运行,这些代码现在被放在一边,我非常的遗憾。所以我不希望在windows下再出现这样的悲剧。

不要忘记Novell曾经也象Microsoft的网络操作系统一样热及一时,但现在已经没有许多人用了,那么Microsoft也会这样的。

我找到了PHP,我仍旧在windows下工作,但我知道PHP代码可以运行在Solaris、Linux和许多其他的操作系统中,我的心里感到安慰。

iis配置php

虽然 LAMP组合很不错,但是如果想要架设一台同时支持PHP、ASP、ASP.NET、JSP、Perl的Web虚拟主机服务器,还是用 Windows 2003的IIS 6最好。网上有很多介绍在IIS 6上配置PHP的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。

这里所说的升级,是指从某个php4版本升级到另一个php4版本,或者从某个php5版本升级到另一个php5版本,而不是指从php4升级到php5。

准备:

1、一台安装好的 Windows 2003服务器,并且已经安装了 IIS 6。

2、下载 windows版的 PHP二进制压缩包

安装:

解压缩 PHP二进制压缩包到 C:\php目录下(这里假设 C:盘是系统盘,即安装了Windows系统的盘,如果系统盘是 D:盘,则解压缩到 D:\php目录下,以此类推,下同)。

然后打开“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”->“path”,编辑其值,在前面增加下面的路径地址:

C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;

将 php.ini-dist或 php.ini-recommended复制到 C:\Windows目录下,并改名为 php.ini,一般正式发布网站的服务器用 php.ini-dist,而作为调试用的服务器用 php.ini-recommended更好。当然一般情况下,这个 php.ini还是需要根据实际情况来修改的。

下面来介绍一下几个必要的修改选项:

extension_dir="C:\php\extensions"

这个是 PHP扩展所放置的目录,请确保跟你实际安装的目录相同。

extension=php_mbstring.dll

;extension=php_big_int.dll

extension=php_bz2.dll

extension=php_cpdf.dll

extension=php_crack.dll

extension=php_curl.dll

extension=php_db.dll

extension=php_dba.dll

extension=php_dbase.dll

extension=php_dbx.dll

extension=php_domxml.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

extension=php_gd2.dll

extension=php_gettext.dll

extension=php_hyperwave.dll

extension=php_iconv.dll

;extension=php_ifx.dll

;extension=php_iisfunc.dll

extension=php_imap.dll

;extension=php_interbase.dll

extension=php_java.dll

extension=php_ldap.dll

;extension=php_mcrypt.dll

extension=php_mhash.dll

extension=php_mime_magic.dll

extension=php_ming.dll

extension=php_mssql.dll

extension=php_msql.dll

;extension=php_oci8.dll

extension=php_openssl.dll

;extension=php_oracle.dll

extension=php_pdf.dll

extension=php_pgsql.dll

;extension=php_printer.dll

extension=php_shmop.dll

;extension=php_snmp.dll

extension=php_sockets.dll

;extension=php_sybase_ct.dll

extension=php_w32api.dll

extension=php_xmlrpc.dll

extension=php_xslt.dll

extension=php_yaz.dll

extension=php_zip.dll

上面这些,开头没有加分号的是打开的扩展,加了分号的是没有打开的扩展。上面的设置包含了在 Windows 2003上默认安装情况下可以打开所有扩展(这里列出的是 php 4的)。

session.save_path= c:\sessions

这个是 session文件默认保存的目录,这个目录必须是一个存在的目录,不然默认的 session功能会无效。我这里设置的是一个 ramdisk上的一个目录。将 session.save_path设置在 ramdisk上可以加快 session处理的速度。如果你没有安装 ramdisk,你可以把它指定到其他盘的任何一个目录下,如 C:\sessions目录、C:\Windows\Temp目录等。

OK,基本工作作完了,现在该配置 IIS了。

打开“ Internet信息服务(IIS)管理器”,在“ Web服务扩展”里,选择“添加一个新的 Web服务扩展”,扩展名可填写“PHP ISAPI扩展”,要求的文件选择:C:\php\sapi\php4isapi.dll(如果安装的是 PHP5,则此处是 C:\php\sapi\php5isapi.dll,下同),并设置扩展状态为允许。

打开“网站”->“属性”->“ISAPI筛选器”->“添加”,筛选器名称可填写“PHP”,可执行文件仍然选择 C:\php\sapi\php4isapi.dll。

打开“网站”->“属性”->“主目录”->“应用程序设置”->“配置”->“应用程序扩展”->“添加”,可执行文件还是选择 C:\php\sapi\php4isapi.dll。扩展名填写“.php”,动作限制为“HEAD,GET,POST”。

打开“网站”->“属性”->“文档”->“启用默认内容文档”->“添加”,可以将 index.php添加为默认内容文档。

然后选择“服务器机器名”->“所有任务”->“重新启动 IIS”来重启 IIS。

测试

在默认网站发布目录下,建立一个测试页面:

下载:phptest.php

phpinfo();

?>

如果打开这个页面能够看到 php安装配置信息,就算是安装成功了。

如果想要更优化的执行 php程序,可以安装 ZendOptimizer-2.6.0-Windows-i386.exe,这个东西安装非常简单,这里就不介绍了。

升级

现在升级就非常简单了。只需要将新版本的 PHP二进制压缩包下载下来,将原来的 C:\php目录删除,将新版本解压缩到 C:\php目录中,然后重新启动一下 IIS就可以了。不需要修改任何配置,也不需要往 System32目录中复制任何文件。是不是很方便啊

如何在iis下安装php

CGI用户必须在 php.ini中将 cgi.force_redirect指令设为 0。其重要细节请阅读 FAQ中的cgi.force_redirect。此外,CGI用户可能需要设定 cgi.redirect_status_env指令。在使用这些指令时,确保它们没有在 php.ini中被注释掉。

*

PHP 4的 CGI文件名是 php.exe而在 PHP 5中是 php-cgi.exe。在 PHP 5中,php.exe是 CLI版本,不是 CGI。

*

修改 Windows的 PATH环境变量以把 PHP目录包括进去。这样 PHP的 DLL文件,可执行文件和 php.ini就都可以保留在 PHP目录中而不用把 Windows系统目录搞乱了。更多细节见 FAQ中的设定路径 PATH。

*

IIS专用用户(通常为 IUSR_MACHINENAME)需要能够读取各个文件和目录的权限,例如 php.ini,docroot和 session的 tmp目录。

*

确保在 php.ini中正确设定了 extension_dir和 doc_root指令的值。这些指令依赖于 PHP被安装的系统。在 PHP 4中,extension_dir是 extensions而在 PHP 5中是 ext。因此在 PHP 5中 extensions_dir的一个取值例子是"c:\php\ext",IIS的 doc_root的取值例子是"c:\Inetpub\wwwroot"。

*

PHP扩展库的 DLL文件,如 php_mysql.dll和 php_curl.dll,存放于 PHP下载的 ZIP包中(自动安装包里没有)。在 PHP 5中,很多扩展库都是 PECL的一部分,可以从“Collection of PECL modules”包中下载,例如 php_zip.dll和 php_ssh2.dll。点击进入 PHP下载页。

*

在定义应用程序扩展名映射时,应选中“检查文件是否存在”。以极小的性能为代价,IIS(或者 PWS)会在调用 PHP之前检查脚本文件是否存在并选出认证方法。这意味着 web服务器会提供一个有道理的 404形式错误信息而不是一条 CGI错误说什么 PHP没有输出任何数据。

Windows NT/200x/XP和 IIS 4或更高版本

PHP可以安装为 CGI或者 ISAPI模块。不管哪种,都需要启动 Microsoft管理控制台(也可能是“Internet信息服务”,在 Windows NT 4.0 Option Pack中或者在 Windows 2000/XP下的控制面板=>管理工具)。然后右键点击 web服务器节点(通常为“默认网站”),并选择“属性”。

如果想用 CGI方式,按如下方法进行:

*

选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

*

将执行权限改为“纯脚本”

*

点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 CGI文件名。例如 PHP 5的值可能是:C:\php\php-cgi.exe。在“扩展名”中填入.php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

*

设定合适的目录安全性(在 Internet信息服务中完成)。如果 NT服务器使用 NTFS文件系统,给 I_USR_用户加上 php.exe/php-cgi.exe文件所在目录的可执行权限(通过资源管理器完成)。

要用 ISAPI模块方式,按如下方法进行:

*

如果不想用 PHP进行 HTTP认证,应该跳过这一步。在“ISAPI筛选器”标签页中添加一个新的 ISAPI筛选器。“筛选器名称”设为 PHP,“可执行文件”设为 php4isapi.dll/php5isapi.dll的路径。

*

选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

*

将执行权限改为“纯脚本”

*

点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 ISAPI DLL。例如 PHP 5的值可能是:C:\php\php5isapi.dll。在“扩展名”中填入.php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

*

完全停止 IIS(NET STOP iisadmin)

*

重新启动 IIS(NET START w3svc)

对于 IIS 6(2003 Server),打开 IIS管理器,进入 web服务扩展,点击“添加一个新的 web服务扩展”,“扩展名”中输入名称,例如 PHP,再点击“添加”按钮,点击“浏览”选择要么 ISAPI文件(php4isapi.dll或 php5isapi.dll)或者 CGI文件(php.exe或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定”。

要使用 index.php作为默认文档,在“文档”标签页中选择“添加”。输入 index.php并点“确定”。用上下箭头按钮调整顺序。这和在 Apache中设定 DirectoryIndex相似。

对于每个要关联为 PHP脚本的后缀都要重复以上步骤。.php是最常用的,此外为兼容一些遗留下来的老程序可能还需要加上.php3。

如果过些时候之后碰到 CPU占用率达到 100%,则取消选中“缓存 ISAPI应用程序”(“主目录”下点“配置”按钮”)。

1怎样将 PHP目录加入到 Windows路径 PATH中去?

在 Windows NT,2000,XP和 2003下:

*

进入控制面板并打开“系统”图标(开始->设置->控制面板->系统,Windows XP/2003中是:开始->控制面板->系统)

*

选择“高级”标签页

*

点击“环境变量”按钮

*

在“系统变量”栏中

*

找到 Path这一项(可能需要向下滚动才能找到)

*

鼠标双击 Path这一项

*

在最后加入你的 PHP目录,包括前面的“;”(例如:;C:\php)此处好像是ext的目录

*

点击“确定”并重新启动电脑

注意:记住在上述修改之后重新启动,以确保对 PATH的改变生效。

PHP手册过去提倡把文件拷贝到 Windows系统目录中去,这是因为该目录(C:\Windows,C:\WINNT,等等)默认就在系统路径中。但是把文件拷贝到 Windows系统目录中这一方式早已不被提倡,还可能造成问题。

2怎样使 php.ini文件在 Windows下被 PHP所用?

有几种方法。如果使用 Apache,阅读专门的安装指示(Apache 1,Apache 2),否则就必须设定 PHPRC环境变量:

在 Windows NT,2000,XP和 2003种:

*

进入控制面板并打开“系统”图标(开始->设置->控制面板->系统,Windows XP/2003中是:开始->控制面板->系统)

*

选择“高级”标签页

*

点击“环境变量”按钮

*

在“系统变量”栏中

*

点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini文件所在的目录(例如:C:\php)

*

点击“确定”并重新启动电脑

关于iis php 性能,iis对比apache性能的介绍到此结束,希望对大家有所帮助。

vue3为什么不建议使用vuex,使用vuex的优缺点dnf使徒的宿命称号(dnf称号使徒降临怎么获得)