使用IIS运行php程序,处理put和delete请求出现405错误

原因是虽然请求已进入 PHP 处理程序(PHP_Via_FastCGI),但被 WebDAVModule 模块拦截,导致返回 405。WebDAV 是 IIS 的一个功能模块,默认会处理 PUT 和 DELETE 请求,即使 PHP 允许这些动词,WebDAV 也可能先于 PHP 执行并拒绝请求。

解决方法:

方法一:通过 IIS 管理器禁用
  1. 打开 IIS 管理器,选中您的站点(ThinkPHP)。

  2. 双击 模块 图标。

  3. 在模块列表中找到 WebDAVModule,选中它。

  4. 在右侧操作栏点击 删除

  5. 重启 IIS(运行 iisreset 或右键站点 → 管理网站 → 重新启动)

方法二:修改 web.config 文件(推荐,可保留配置)

在站点根目录的 web.config 中添加以下内容,移除 WebDAV 模块和处理程序:

复制代码
<configuration>
    <system.webServer>
        <modules>
            <remove name="WebDAVModule" />
        </modules>
        <handlers>
            <remove name="WebDAV" />
        </handlers>
    </system.webServer>
</configuration>
相关推荐
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4943 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n3 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨3 小时前
python扫码登录dy
开发语言·python
我是唐青枫3 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.3 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo3 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin