You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署PHP应用遇500.19错误,IIS_IUSRS组为空求助

解决IIS部署PHP应用时的500.19错误及IIS_IUSRS相关权限问题

核心问题梳理

500.19错误本质是IIS无法加载站点配置(如web.config)或访问目录权限异常,你提到的IIS_IUSRS组为空确实可能是诱因,但也可能和PHP自身配置冲突有关,按以下步骤排查:

修复IIS_IUSRS组异常

  • 检查组成员:打开「计算机管理」→「本地用户和组」→「组」,找到IIS_IUSRS,右键查看成员。如果为空,手动添加IUSR(IIS内置匿名用户)以及你站点应用池对应的标识(比如默认的DefaultAppPool,自定义应用池就加对应账户)。
  • 重置目录默认权限:右键站点根目录→「属性」→「安全」→「高级」,勾选「启用继承」,恢复系统默认权限,避免之前手动加组导致的权限冲突。

针对PHP部署的关键检查

  • 验证Handler Mapping:打开IIS管理器→选中你的站点→「Handler Mappings」,确认存在针对.php文件的映射,指向正确的php-cgi.exe路径,且权限设置为「读取」+「脚本」。如果没有,重新添加PHP快速CGI映射。
  • 检查web.config语法:如果站点根目录有web.config,先临时重命名它(比如改成web.config.bak),再访问站点测试。如果恢复正常,说明原web.config有语法错误,逐行排查修正。
  • 应用池标识权限:如果用了自定义应用池,把应用池的标识账户添加到站点目录权限里,赋予「读取和执行」「列出文件夹内容」「读取」这三项权限,比依赖IIS_IUSRS更可靠。

最后测试

执行命令iisreset重启IIS服务,然后访问站点。如果还是报错,去C:\inetpub\logs\LogFiles查看IIS日志,找到对应500错误的详细代码(比如0x80070005是权限不足,0x80070021是配置锁定),再针对性调整。

内容的提问来源于stack exchange,提问作者Nikita28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:42:51