IIS7怎么添加PHP网站?,怎么添加防护网站?
- 前端开发
- 2026-08-10
- 6
在IIS7上添加PHP网站,核心是安装PHP并配置处理程序映射,然后通过“添加网站”绑定域名;添加防护网站则需安装WAF或安全软件,两者可以同步完成。
iis7怎么添加php网站:从环境安装到域名绑定
我遇到过不少朋友,在IIS7上折腾PHP好几天,最后发现只是少了一个“添加模块映射”的动作,所以这里把每一步都写清楚。
安装PHP并配置php.ini
- 下载PHP非线程安全版本,注意选择与系统位数匹配的压缩包,例如php-7.4-nts-Win32-VC14-x64.zip。
- 将压缩包解压到C:PHP,这个路径不要带空格。
- 进入C:PHP,把php.ini-production复制一份,重命名为php.ini。
- 用记事本打开php.ini,找到extension_dir,改为C:PHPext。
- 将常用的扩展取消注释,至少包括mysqli、curl、gd,保存文件。
注意,PHP 7.4及以上版本需要安装对应版本的VC运行库,否则php-cgi.exe会一闪而过,如果不会检查,直接下载“Visual C++ Redistributable for Visual Studio 2015-2022”安装即可。
在IIS7中注册PHP处理程序
打开“开始菜单 → 管理工具 → Internet信息服务(IIS)管理器”,左侧选择服务器节点,双击“处理程序映射”。
- 点击右侧“添加模块映射”。
- 请求路径填写.php。
- 模块选择FastCgiModule。
- 可执行文件填写C:PHPphp-cgi.exe。
- 名称填写PHP,点击“确定”。
此时系统会弹出询问“是否允许创建FastCGI进程”,点击“是”,这一步很关键,如果点击“否”,PHP将无法运行。
添加网站并绑定主机名
左侧右键“网站”,选择“添加网站”。
- 网站名称:自定义,例如myphp。
- 物理路径:建议使用D:wwwrootmyphp,避免放在C盘系统分区。
- 绑定类型:http。
- IP地址:选择“全部未分配”。
- 端口:80。
- 主机名:填写已经解析到此服务器的域名,例如www.example.com。
设置完成后,在IIS管理器中选中该网站,双击“默认文档”,添加index.php,然后在物理路径下创建index.php,写入<?php phpinfo(); ?>,浏览器访问域名,如果看到PHP信息页面,说明网站添加成功。

使用PHP管理器简化后续配置
手动改php.ini后需要重启IIS,比较麻烦,可以安装“PHP Manager for IIS”扩展,安装后IIS管理器中会多出一个PHP Manager图标。
- 双击PHP Manager,可以查看当前PHP版本、扩展列表、错误日志。
- 修改php.ini中的常用选项,比如upload_max_filesize、memory_limit,直接在界面中调整即可。
这个工具对新手很友好,也方便排查PHP扩展问题。
添加防护网站:免费与付费方案怎么选
网站能访问了,防护就要跟上,IIS7发布较早,安全更新已经停止,奔放等于把服务器暴露在扫描器面前,业内专家指出,IIS7站点被入侵的案例中,多数是缺少基本的访问控制和漏洞补丁。
本地安全软件:免费但需占用系统资源
云锁、安全狗是常见的Windows服务器防护软件,安装后会自动开启Web防护、cc攻破拦截、上传检测等功能,这类软件适合服务器配置较高、不想额外花钱的场景。
- 优点:部署简单,界面中文,防护规则自动更新。
- 缺点:占用一定内存,偶尔误杀正常脚本。
安装时要注意选择“Windows”版本,并绑定服务器IP,开启防护后,建议先放行自己的IP,再测试网站是否正常。

IIS模块级防护:适合动手能力强的站长
IIS7自带“请求筛选”功能,可以限制URL长度、文件扩展名、HTTP动词等,在请求筛选规则中添加.bat、.cmd后缀的拒绝规则,能防止脚本文件被直接访问。
更进阶的是安装“URL Rewrite”模块,编写规则拦截恶意UA或SQL载入特征,将包含union select的请求重定向到错误页,但这类规则需要自己维护,适合熟悉正则表达式的用户。
云WAF:网站防护哪家便宜?对比自建方案
如果不想维护服务器安全,可以直接接入云WAF,通过修改DNS解析,将网站流量经WAF节点过滤,再转发到源站,这种方式能隐藏源站IP,抵御大流量攻破。
网站防护哪家便宜?这取决于访问量。免费版云WAF通常提供基础防护,但会限制QPS;付费版按年收费,价格从几百元到数千元不等,相比自建安全团队,云WAF仍然是性价比较高的选择,行业共识认为,小型企业站点选择免费版或入门版就足够,而电商类站点建议升级到专业版。
不同场景下的防护方案对比
| 场景 | 推荐方案 | 成本 |
|---|---|---|
| 个人博客、测试站 | 本地安全软件免费版 | 零成本 |
| 企业官网、营销页 | 云WAF入门版 | 几百元/年 |
| 电商、交易类网站 | 云WAF专业版+本地软件 | 数千元/年 |
这个对比仅供参考,实际选择还要看服务器所在区域和访问量,国内云厂商的WAF节点覆盖较广,通常能保证较好的响应速度。
iis7添加php网站后打不开怎么办
添加网站后,常见症状是浏览器返回“403 Forbidden”或“500 Internal Server Error”,下面按问题类型排查。

403错误:权限或默认文档问题
- 检查物理路径是否设置了IIS_IUSRS用户的读取权限。
- 确认“默认文档”中已添加index.php,且文件真实存在。
- 如果网站目录在D盘,检查NTFS权限是否允许“IIS_IUSRS”读取。
右键网站目录,选择“属性 → 安全”,添加“IIS_IUSRS”用户,并勾选“读取”和“执行”权限。
500错误:PHP配置或扩展问题
- 查看Windows事件查看器中的应用程序日志,定位php-cgi.exe报错原因。
- 检查php.ini中extension_dir路径是否正确,extension是否引用了不存在的DLL。
- 尝试切换PHP版本,有些PHP扩展在IIS7下不兼容。
切换到PHP 5.6或7.4版本,通常能解决大部分兼容性问题,生产环境建议使用PHP 7.4,既稳定又安全。
无法访问:端口被占用或防火墙拦截
运行netstat -ano | findstr :80,查看80端口是否被其他程序占用,如果是,在IIS绑定中换一个端口,或停止占用程序,同时检查Windows防火墙,确保入站规则允许80端口。
如果以上步骤都无效,在IIS管理器中点击“检查配置”,系统会高亮显示配置错误的位置,根据提示修改即可。
快速排查清单
- 是否安装了VC运行库?
- 处理程序映射中是否有.php?
- php-cgi.exe路径是否正确?
- 物理目录是否有IIS_IUSRS读取权限?
- 默认文档是否包含index.php?
- 防火墙是否放行80端口?
网站防护与PHP站点常见问题解答
iis7添加php网站后,上传的PHP文件无法执行,被当作下载怎么办?
这是处理程序映射没有生效,回到IIS管理器,确认“处理程序映射”中存在.php的映射,且模块选择的是FastCgiModule,如果映射存在但仍然下载,尝试重启IIS服务(运行iisreset)。
添加防护网站后,正常用户被拦截怎么办?
先检查安全软件的拦截日志,确认是否触发了误拦截规则,如果是云WAF,可以在控制台将当前IP加入白名单,并调整规则等级,对于本地安全软件,可以关闭“URL特征拦截”中的敏感选项,再观察一段时间。
iis7上的PHP网站已经稳定运行,还需要开启防护网站功能吗?
需要,IIS7已停止主流支持,漏洞修复滞后,即使PHP代码安全,服务器本身也可能被扫描攻破,建议至少开启系统的请求筛选,并定期备份网站目录和数据库。
在IIS7上添加PHP网站,本质是“环境配置+站点绑定”两步;添加防护网站,则是“本地安全+云端过滤”的综合选择,只要按流程操作,老系统也能稳定运行。