IIS服务器环境下某路径下所有PHP接口无法运行报500.19错误
IIS服务器环境下某路径(文件夹)下所有PHP接口无法运行报500.19错误
环境:IIS8.5 + php7.2.1
错误描述:某目录下(如 d:\web\A)所有php接口文档运行错误,接口测试工具返回空内容,浏览器提示500错误
解决方式:
- 开启PHP和IIS错误日志;
- 查看IIS日志,发现线索
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2018-07-31 09:33:36 172.0.0.0 GET /xxxx/xxx.php - 443 - 100.0.0.0 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/64.0.3282.140+Safari/537.36+Edge/17.17134 - 500 19 183 15
- 最主要是字段帮了忙
500 19
代表500.19错误,经查是web服务器内部运行错误
- 仔细查看IIS各项设置并回忆可能的改动,发现
A
目录属于“新增”目录,里边所有文件是从之前测试服务器上复制过来,其原属于测试服务器上一个独立“网站”配置,因此web.config
文件中包含了对".txt"的请求筛选,即不允许访问".txt"的文件。当A
目录整体复制到当前服务器时,保存到默认“网站”下的一个虚拟目录,而默认网站也设置了相同的请求筛选,导致配置冲突,在对A
进行访问时整体路径都出错。 - 打开
A
下的配置文件,去掉所有和所属“网站”冲突的配置,具体为
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".txt" allowed="false" />
</fileExtensions>
</requestFiltering>
</security>
并应用,重启网站,解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构