【转】Vista下玩转php开发 IIS7下安装配置php实战指南

 

6 月 27 日,微软发布了 Virtual Machine Additions for Vista Beta 2,我将其安装在 Virutal Server 2005 R2 SP1 Beta 1 上之后,终于可以玩 IIS 7 了。在安装这个版本的 VM Additions 之前,我的 Longhorn Server Beta 2 虚拟机一直用的是 for Windows 2003 的 VM Additions,那个速度别提有多慢了。装了这个版本以后,在给 Longhorn Server Beta 2 虚拟机分了 480M 内存的情况下,速度飞快,感觉棒极了!于是终于开始了 IIS 7 之旅。

作为一个 PHP 玩家,在有 IIS 7 可用之后,第一个想法自然是给 PHP 在 IIS 7 上安一个家。下面就是我的全部安装过程图解。

首先,安装 IIS 7,这个就不用说了吧。为了体验 IIS 7 的全部功能,我把它全部特性都安装了,但在本文中我还不打算介绍这些,不然就扯得太远了。安装好之后,PHP 5 for Windows 的 Binary zip 包。将其解压缩到 C:/PHP 目录下,然后复制一份 php.ini-dist 改名为 php.ini。接下来打开我的电脑->属性->高级系统设置->环境变量里,添加上可执行文件的查找路径(PATH)和 php.ini 的查找路径(PHPRC):

 

 

接下来开始配置 IIS 7,下面是 IIS 7 的启动后的开始画面,看上去比较酷:

 

 

你可以对某个站点进行配置,也可以对整个服务器进行配置,当然对整个服务器配置对于以后的事情可能就更加方便了,比如新建一个站点,就可以支持 PHP,这对于作虚拟主机是非常合适的,所以这里我们是按照对整个服务器进行配置来作的。因此先选中要配置的服务器,默认当然是你的本地服务器了,你会看到选中以后,右面的画面跟 IIS 6 完全不同了:

 

 

从这整个属性页中选择你要找的特性当然比较费眼,所以,你可以按照范围(Areas)和分类(Categories)来选择。这里我们要配置的是 ISAPI and CGI Restrictions,它可以从 IIS 范围的 Security 分类中找到:

 

在全部安装的情况下,ISAPI and CGI Restrictions 页中默认有 ASP 和 ASP.NET 两项:

 

 

我们在最右面的任务(Tasks)里选择 New Restriction… 来为 PHP 创建 Restriction,要填写的内容如图所示:

 

 

接下来我们可以为 PHP 程序创建一个应用程序池:

 

 

在然后配置默认文档,增加一个 index.php 的默认文档:

 

 

接下来,配置 IIS 范围里 Server Components 分类中的 Handler Mappings 选项:

 

 

这一步是最重要的,在这里,我们要添加的是 Script Map,要填写的内容如图所示:

 

 

配置完这一步后,PHP 就可以运行了。不需要配置 ISAPI Filters,也不要重启 IIS 服务器,你可以直接在 C:/inetpub/wwwroot 目录下创建一个 index.php,内容就是执行一个 phpinfo() 函数,然后再浏览器中输入 http://localhost,如果看到下图,就说明配置成功了:

 

安装好了 PHP,接下来就是给它在装个加速器了,我一般使用的是 Zend Optimizer,因为这个最好配置。你可以从这里下载它:ZendOptimizer-3.0.1-Windows-i386.exe


安装过程中,我们会发现 Zend Optimizer 居然能识别出 IIS 7 来,真是厉害:

 

安装好后,刷新那个页面,在页面底部的某个位置,你就会发现 Zend Optimizer 已经启动了:

 

 

再接下来,我们应该配置一下保存 Session 的目录,不然的话,Session 可能无法正常工作。

首先,为 Session 文件建一个文件夹,这里我们以 C:/PHP/sessions 目录为例,建立好之后,给其分配权限,这里需要给 IIS_IUSRS 用户组以完全控制权限,IIS_IUSRS 用户组应该是 IIS 7 中新加的用户组,在之前的版本中,我似乎未见到过:

 

 

然后,把这个路径,添加到 php.ini 中,注意去掉 session.save_path 前面的分号:

 

 

再次刷新 http://localhost 这个页面,如果看到 session.save_path 的项是你所配置的目录,这八成就成功了:

 

 

为了进一步确认 Session 可用了,你可以直接装一个带有 Session 的程序试试,我这里选择的是 PHPRPC,执行之后,我们可以看到 C:/PHP/sessions 目录下有 session 文件了。

 

 

好了,到这一步,就算是大功告成了,至于其它的扩展,自己在 php.ini 中启用就可以了!就是这么简单。不过修改 php.ini 似乎还是需要重启 IIS 服务器才能使修改生效

展开阅读全文

vista iis7

02-26

环境 是vista sp2 ,iis7.0 rn调试 asp.netrn自定义一个 404rn默认那个404 不友好也不美观rn但是现在rn如果请求的网页不存在时,rn开始报这个错误rn---------------------------------------------rnHTTP 错误 500.19 - Internal Server ErrorrnAbsolute physical path "E:\asptest\Error-404.aspx" is not allowed in system.webServer/httpErrors section in web.config file. Use relative path instead.rn---------------------------------------------rn模块 CustomErrorModule rn通知 SendResponse rn处理程序 PageHandlerFactory-Integrated rn错误代码 0x8007000d rnrn请求的 URL http://192.168.1.100:80/Show_I.aspx rn物理路径 E:\asptest\Show_I.aspx rn登录方法 匿名 rn登录用户 匿名 rnrn---------------------------------------------rn•工作进程无法读取 applicationhost.config 或 web.config 文件。rn•applicationhost.config 或 web.config 文件中存在格式错误的 XML。rn•由于 NTFS 权限不正确,服务器无法访问 applicationhost.config 或 web.config 文件。rn---------------------------------------------rn•查询事件日志中有关配置文件不可读的原因的信息。rn•确保为应用程序池指定的用户标识或通过身份验证的用户具有访问 web.config 文件的必需权限。rn---------------------------------------------rn当读取 Web 服务器或 Web 应用程序的配置文件出现问题时,就会发生此错误。在某些情况下,事件日志会包含有关导致此错误的原因的更多信息。 论坛

vista ultimate IIS7配置问题

01-07

基本情况:vista ultimate版本iis7,先装了.net后装iis,rnrn问题:通过http://localhost访问出错rnrn具体错误信息rnrn错误摘要rnHTTP 错误 404.4 - Not Foundrn您要查找的资源没有与之关联的处理程序。 rnrn详细错误信息rn模块 IIS Web Core rn通知 MapRequestHandler rn处理程序 尚未确定 rn错误代码 0x80070002 rnrn请求的 URL http://localhost:80/ rn物理路径 D:\Project\IISRoot\Website rn登录方法 匿名 rn登录用户 匿名 rn rn最可能的原因:rn所请求 URL 的文件扩展名没有配置处理程序来处理 Web 服务器上的请求。 rn rn可尝试的操作:rn如果文件扩展名没有与之关联的处理程序,请为该扩展名添加一个处理程序映射。 rn确认已正确安装和配置了与文件扩展名相关联的处理程序。 rn创建跟踪规则以跟踪此 HTTP 状态代码的失败请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。 rn rn链接和更多信息rn但是我访问这个网站目录下的测试程序default.aspx通过这个地址http://localhost/default.aspx可以正常访问,我现在想浏览虚拟目录就会出现上面的错误,我已经把iis中的目录浏览功能打开这个错误依旧。rnrnMapRequestHandler 对于错误中的这个,我试图修改system32/intrsrv/applicationhost.config文件加入staticfile模块的配置,好了,又显示无法处理模块staticfile http错误500.21,这样的话连default.aspx都访问不了,无奈之下又把applicationhost.config文件再改回去,然后就还是上面的404.4错误。我检查了applicationhost.config文件中,我的里面没有staticfile这个配置,所以在处理程序映射中也就找不到staticfile模块。如果要手动添加应该怎么添加呢?、rnrn这个问题困扰我好久了 ,对了还有我端口没问题,iis7的安装我都基本上快把iis下的所有功能都选上了,现在是病急乱投医,走投无路了,请各位朋友帮忙看看这个问题rn 论坛

没有更多推荐了,返回首页