在IIS7 / PHP / Laravel上进行PUT和DELETE

时间:2013-10-04 13:05:44

标签: php http rest iis laravel

我无法在IIS7上对我的Laravel驱动的API进行PUT和DELETE请求。

其他问题的答案已经说过允许将PUT和DELETE谓词映射到ExtensionlessUrlHandler处理程序。这对我不起作用,可能是因为API是PHP,并且该处理程序不会将请求发送给PHP?

我通过添加新的处理程序使其工作,将*映射到FastCgiHandler(与.php映射到的相同)。这使得对API的PUT和DELETE请求起作用,但意味着服务器正在使用php-cgi.exe来提供静态内容,这意味着我的样式表没有正确显示。

我无法将处理器映射只是添加到/ api文件夹,因为路由是通过Laravel处理的,因此不是 / api文件夹来放置web.config文件进入。

请求过滤设置为允许所有动词(甚至是未列出的动词),并且我没有安装WebDAV(另外两个常见解决方案)。

可能是我开始时设置的处理程序情况不正确?我不确定 - 我不是IIS的专家。

非常感谢任何见解。

1 个答案:

答案 0 :(得分:6)

转到 处理程序映射> PHPXX_via_FastCGI>编辑(右键单击)>请求限制>动词 并选择“All Verbs”(或将PUT和DELETE添加到列表中)

其中XX是您正在使用的版本(例如我使用PHP 5.4,因此它是54)。