php – 如何在Azure中启用PUT请求?
作者:互联网
我正在Azure上构建REST API,但是当我尝试通过PUT方法访问端点时,我得到HTTP 405“Method Not Allowed”状态以及IIS错误消息:
The page you are looking for cannot be displayed because an invalid
method (HTTP verb) is being used.
如何启用PUT方法以及Azure默认配置设置可能默认阻止的其他方法?
我尝试将web.config文件添加到我的应用程序的根目录,并在verbs元素上将allowUnlisted设置为true:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs applyToWebDAV="false" allowUnlisted="true" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
这没有改变.
我是一个开源人员,所以IIS的世界对我来说非常陌生.任何帮助表示赞赏.
谢谢!
解决方法:
将以下内容添加到system.webServer元素中的web.config:
<handlers>
<remove name="PHP54_via_FastCGI" />
<add name="PHP54_via_FastCGI" path="*.php" verb="GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" requireAccess="Script" />
</handlers>
这适用于PHP的内置版本,当前默认值为PHP 5.4,但如果您选择了PHP 5.3或PHP 5.5,则需要修改php-cgi处理程序的路径.
标签:php,iis,azure,azure-web-sites 来源: https://codeday.me/bug/20190715/1466992.html