iisphp好用吗,iis配置php和asp
大家好,今天小编来为大家解答以下的问题,关于iisphp好用吗,iis配置php和asp这个很多人还不知道,现在让我们一起来看看吧!
php环境搭建,用iis好还是apache好,为什么
一,在apache中php以模块的方式与apache结合的即PHPIniDir"E:\phpsite\php"(这部是设置php.ini的位置) LoadModule php5_module"E:/phpsite/php/php5apache2_2.dll"
二,在用IIS整合php时,有两种方式:ISAPI(.exe可执行文件【php.exe,php-cgi.exe】)与CGI(.dll动态链接库)模式,这两种方式,我们都可以看到phpinfo页面,但是使用ISAPI模式,无法读取环境变量,所以通过环境变量PHPRC设置的php.ini路径无法找到。使用CGI就可以,这样就不必把好多文件拷到系统文件下。
三,配置文件(PHP 3中是 php3.ini,自 PHP 4起是 php.ini)在 PHP启动时被读取。对于服务器模块版本的 PHP,仅在 web服务器启动时读取一次。对于 CGI和 CLI版本,每次调用都会读取。
php.ini的搜索路径如下(按顺序):
* SAPI模块所指定的位置(Apache 2中的 PHPIniDir指令,CGI和 CLI中的-c命令行选项,NSAPI中的 php_ini参数,THTTPD中的 PHP_INI_PATH环境变量)
*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows注册表位置)
*PHPRC环境变量
*当前工作目录(对于 CLI)
*web服务器目录(对于 SAPI模块)或 PHP所在目录(Windows下其它情况)
*Windows目录(C:\windows或 C:\winnt),或--with-config-file-path编译时选项指定的位置
我在Server2003+php4的环境下遇见了这个问题,解决的方法是在前面写PATH环境变量的时候,添加一个PHPRC,指向x:\php4\php.ini,重新启动即可,如果实在还是不行的,最后还有一招就是安装zend,php加速器,因为安装zend的时候,会指定php.ini的路径,也会指定所使用的服务器是IIS还是Apache,起本质是对注册表做了修改,但是我不知道修改了哪个位置,所以我在上面的操作还是无效的情况下,最后安装Zend,终于成功解决问题了。
四,IIS下PHP的ISAPI和FastCGI比较(2009-8-2)
1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。
2、ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。
3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
以ISAPI模式运行 PHP的,这种方式最大的缺点就是稳定性不好,当 PHP出错的时候,Apache进程也死掉了
FastCGI模式运行 PHP的优点:
以FastCGI模式运行 PHP有几个主要的好处。首先就是 PHP出错的时候不会搞垮 Apache,
只是PHP自己的进程当掉(但 FastCGI会立即重新启动一个新 PHP进程来代替当掉的进程)。
其次FastCGI模式运行 PHP比 ISAPI模式性能更好
最后,就是可以同时运行 PHP5和 PHP4
FastCGI模式的一些缺点:
说完了好处,也来说说缺点。用 FastCGI模式更适合生产环境的服务器。
但对于开发用机器来说就不太合适。因为当使用 Zend Studio调试程序时,
由于FastCGI会认为 PHP进程超时,从而在页面返回 500错误
asp与php的优缺点
PHP比ASP更优秀:
1、速度、速度、速度
当我第一次运行PHP脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166MHZ的机器上运行我的程序的,但运行的速度仍然很快。
ASP是永远也不会象PHP这样快的,因为ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。
在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。
下面是我们在MSSQL740次运行一个查询语句的执行时间统计:
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%。
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
IIS下运行PHP的方法:\x0d\x0a一、安装PHP5.3.6\x0d\x0a 1)关闭防火墙,解压 php5.zip到 D:\PHP\php5\x0d\x0a\x0d\x0a 2)将php.ini文件分别拷贝到 D:\PHP\php5和 C:\WINDOWS目录下\x0d\x0a\x0d\x0a 3)给php安装目录(D:\PHP\php5)赋上users组读与执行权限\x0d\x0a\x0d\x0a 4)在 D:\PHP\php5文件夹下找到名为php_mysqli.dll,php_mysql.dll,libmysql.dll,libmcrypt.dll的文件,并将其复制到C:\windows\System32文件夹中(注:IIS处理PHP和MYSQL需要该文件)。\x0d\x0a\x0d\x0a二、配置IIS\x0d\x0a 1)在IIS下新建网站,这里可以存放你的php网站文件。比如新建虚拟目录jihetuan指向电脑上的E:\jihetuan目录。\x0d\x0a\x0d\x0a 2)在"映射"选项卡上点"添加",打开"添加/编辑应用程序扩展名映射"对话框,点击"可执行文件"后的"浏览",定位到D:\PHP\php5\php5isapi.dll,在"扩展名"后的文本框内输入".php"(注:一定要注意扩展名前的句点),点击确定。\x0d\x0a\x0d\x0a 3)在文档选项卡中添加index.php做为默认文档。也可不添加。\x0d\x0a\x0d\x0a 4)再点"确定",退出"应用程序配置"对话框,再点"确定",退出PHP属性对话框。\x0d\x0a\x0d\x0a 5)重启IIS,生效。\x0d\x0a三、安装Mysql\x0d\x0a完毕
好了,文章到这里就结束啦,如果本次分享的iisphp好用吗和iis配置php和asp问题对您有所帮助,还望关注下本站哦!