资源说明:给人搬了十几个网站,老站用西部数码建站助手创建的,现在过期了无法继续创建,只能在Internet 信息服务(IIS)管理器创建网站,创建下来都没问题,但是就是无法打开网站。
测试打开txt文档、静态页面都能打开,一到打开php文件就直接就挂了,无法打开,什么报错都没有。
之前有用iis6以外的服务器创建过网站,都是直接创建就可以运行。
没报错不好找问题,百度用别人的方法操作也不行。实在没办法,只能对着之前用建站助手创建的网站配置,放下架子,一个个看过去,结果发现用建站助手创建的网站ISAPI拓展配置信息不同。
建站助手创建的老站配置信息是:
我手工创建的网站配置信息是:
(截图时候我加进去
在IIS6上手工创建网站后,如果遇到无法运行PHP脚本的问题,通常是由于IIS的ISAPI扩展或FastCGI配置不正确导致的。PHP是通过ISAPI扩展或者FastCGI来与IIS交互执行PHP代码的。下面将详细解释这个问题的成因以及解决方法。
1. **ISAPI扩展和FastCGI**:
- **ISAPI (Internet Server Application Programming Interface)** 是微软IIS服务器提供的一种用于扩展服务器功能的接口,允许开发者编写动态处理程序。在IIS6中,ISAPI扩展是处理PHP请求的一种方式。
- **FastCGI** 是一种更高效、更稳定的处理动态内容的技术,相比ISAPI,它能更好地处理高并发和长时间运行的请求。在IIS6中,PHP通常通过FastCGI来运行,因为它比ISAPI更稳定,性能更好。
2. **问题分析**:
当你手工创建的网站无法运行PHP脚本时,可能是以下原因造成的:
- **ISAPI扩展未配置**:手工创建的网站可能没有正确设置PHP的ISAPI扩展,导致IIS无法识别并执行PHP文件。
- **FastCGI配置缺失**:如描述中提到的,你发现新创建的网站缺少PHP FastCGI的可执行路径,这正是问题的关键。FastCGI配置错误会导致IIS无法启动PHP进程来处理请求。
- **权限问题**:PHP执行环境可能需要特定的文件或目录权限才能正常工作,例如PHP的临时目录、日志目录等。
- **PHP配置文件(php.ini)问题**:可能由于配置不当,导致PHP无法正确启动或与IIS通信。
3. **解决步骤**:
- **检查ISAPI扩展**:在IIS管理器中,查看“Web服务扩展”列表,确保PHP的相关扩展(如“PHP5ISAPI”)已经启用。
- **配置FastCGI**:在IIS管理器中,打开“应用程序池”,为PHP添加一个新的FastCGI设置。确保指定正确的PHP可执行文件路径(如`C:\php\php-cgi.exe`),同时设置相关的环境变量,如`PHPRC`指向php.ini的路径。
- **权限设置**:确保PHP可执行文件和相关目录具有足够的读写权限,例如,`C:\php`目录和日志目录。
- **检查php.ini**:确认php.ini中的配置项如`extension_dir`、`cgi.fix_pathinfo`等设置正确,特别是`fastcgi.impersonate`和`fastcgi.logging`,这些可能会影响PHP与IIS的交互。
4. **故障排查**:
- **日志记录**:启用IIS和PHP的日志功能,以便于定位问题。IIS日志可以帮助我们了解请求是否到达服务器,而PHP错误日志则可以显示PHP运行时的错误信息。
- **对比配置**:如描述中所述,对比建站助手创建的网站和手工创建的网站配置,查找差异,并进行相应的调整。
5. **其他资源**:
- 你可能感兴趣的其他文章或教程,如"IIS6.0中配置php服务全过程解析",可以提供更深入的指导,帮助你完成IIS6上的PHP配置。
综上,解决IIS6手工创建网站无法运行PHP脚本的问题,主要涉及ISAPI扩展和FastCGI的正确配置,同时也需要关注权限设置和PHP配置文件。通过仔细检查和对比,通常能够找出问题所在并解决。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。
English
