5

PHPでRESTfulWebアプリケーションを開発しています。私が持っているのは:

  1. テストサーバーでは、Windows 7 / Apache 2.2 / PHP 5.2.9(mod_php)
  2. 運用サーバーでは、Windows Server 2003 / IIS6 / PHP 5.2.4(php5isapi.dll)

テスト環境に問題はありませんが、本番サーバーはpathinfoを使用したRESTfulリクエストの送信に失敗し(つまり、/mypath/app.php/controller/id処理スクリプトが存在する/mypath/app.phpなどのページ)、次のメッセージを含む素敵な空白のページを表示します。

No input file specified. 

firebugを使用すると、応答ヘッダーが次のようになっていることがわかります。

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も他のWebもこの問題の実用的な解決策を提供できないようです。どんな手掛かり?

本番サーバーは追いつく必要があるため、PHPやIISを再インストールすることはできません。私にできることは、IIS / PHP構成を変更し、IISを再起動することです。

前もって感謝します、

パオロ

4

3 に答える 3

3

@hakreは良い答えを投稿しましたが、それはこの問題を解決した別のことでした。他の人の苦痛を節約するために簡単に報告します...

私は次の方法で問題を取り除きました:

  • 本番サーバーで編集し、行php.iniをコメントアウトします。doc_root=...
  • IISを再起動しました。
  • 本番サーバーで起動services.mscし、「WorldWideWebPublishingService」を再起動しました。

これで、すべてのページが正常に正しくレポートされPATH_INFOます。

とにかく答えてくれてありがとう!

誰かが気にかけているなら、このページは私を照らしました。

于 2011-06-28T12:54:30.887 に答える
2

[ファイルが存在することを確認する]チェックボックスをオフにします。

これは、インターネットインフォメーションサービスマネージャーのオプションであり、アプリケーションマッピングWebサイトのプロパティホームディレクトリの構成にあります。.php

問題のWebサイトのマッピングを編集し、ファイルの存在チェックを無効にします。その後、pathinfoは期待どおりに機能するはずです。

より詳しい情報

于 2011-06-27T23:45:16.013 に答える
1

ISAPI_REWRITE(http://www.isapirewrite.com/)を使用して書き換えサポートを試してください

于 2011-06-23T15:25:36.977 に答える