gpt4 book ai didi

php - 如何让 IIS6 识别路径信息路由而不是返回 "404 Undescribed"错误?

转载 作者:可可西里 更新时间:2023-11-01 14:05:40 27 4
gpt4 key购买 nike

我正在用 PHP 开发一个 RESTful 网络应用程序。我得到的是:

  1. 测试服务器上,Windows 7/Apache 2.2/PHP 5.2.9 (mod_php)
  2. 生产服务器上,Windows Server 2003/IIS6/PHP 5.2.4 (php5isapi.dll)

虽然测试环境没有问题,但生产服务器无法发送任何带有路径信息的 RESTful 请求(即页面,例如 /mypath/app.php/controller/id,其中处理脚本是 /mypath/app.php) 并提供一个漂亮的空白页面,其中包含以下消息:

No input file specified. 

使用 Firebug ,我可以看到响应 header 是:

HTTP/1.1 404 Undescribed
Proxy-Connection: close
Connection: close
Via: 1.1 XXXXX
Date: Thu, 23 Jun 2011 14:51:18 GMT
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET, PHP/5.2.4

其中 XXXXX 是代理的名称。

我四处搜索,似乎 SO 和网络的其他部分都无法为这个问题提供切实可行的解决方案。有什么线索吗?

由于生产服务器需要跟上,重新安装 PHP 和/或 IIS 不是一种选择。我能做的就是修改 IIS/PHP 配置,然后重新启动 IIS。

提前致谢

保罗

最佳答案

@hakre 发布了一个很好的答案,但解决这个问题的是另一件事,我简要报告一下,以节省其他人数小时的痛苦...

我通过以下方式解决了这个问题:

  • 在生产服务器上编辑 php.ini,注释掉 doc_root=... 行;
  • 重新启动 IIS;
  • 在生产服务器上启动 services.msc,重新启动“万维网发布服务”;

现在,所有页面都可以正确报告 PATH_INFO

无论如何感谢您的回答!

如果有人关心,this page照亮了我。

关于php - 如何让 IIS6 识别路径信息路由而不是返回 "404 Undescribed"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456306/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com