none
構成セクション 'system.webServer/rewrite/providers' を読み取れません RRS feed

  • 質問

  • 自分のパソコンのVisual Studioを使ってWorker ロールでphpアプリケーションを実行しようとすると

    「セクション宣言が見つからないため、構成セクション 'system.webServer/rewrite/providers' を読み取れません」
    モジュール URLRewrite
    エラーコード 0x80070490
    ハンドラー PHP FastCGI

    というエラーが出て実行できません。

    元になったソリューションファイルは古いバージョンだという意味の表示が出て、初めてVisual Studio 2010で開くときに変換されました。
    それが関係しているのでしょうか。

    2011年5月14日 13:52

回答

  • こちさん

    Mayomayoです。

    > Web サイトを見る限りソースコードの構成ファイルのセクションはすでに設定済みと思> われます

    と書きましたのは、http://archive.msdn.microsoft.com/hwcworker のPHP nstructions に、
    ・「HWCWorker_php_source.zip 内の構成ファイル applicationHost.config, web.config は、共にPHP FaastCGI用の推奨設定を行っている。」
    ・PHPの実行モジュールのコピーとのみ必要
    と記述されていた2点から特別な構成ファイルの設定は不要かと思います。
    ( ソースを見る限り、 applicationHost.config で URLRewrite が既に組み込まれています。)

    既にURL Rewrite モジュールはインストール済みであるということですので、その上で構成ファイル(xxx.config)がらみでエラーが出るとしたらこちさん自身が構成ファイルを変更された事が原因ではないかなと推測して、リンク先の Provide URL Rewriting Functionality for PHP Applications を見られては如何でしょうかとお伝えしました。

    また Url Rewrite でURL書き換えを行っておりその指定に問題があるなら簡単に設定する方法が必要だろうと推測して使用方法とweb.configの設定が記述されているURLをお伝えしました。


    現状ですとこちさんの遭遇されている問題の原因が何か探っている状況です。
    一緒にPC画面を見ていればIISがらみの問題はある程度答えられるのですが現実無理なので推測です...(^_^;;


    > phpファイルは実行できるのですが、URLRewriteモジュールが読み込まれていないように思います

    PHPのファイルを実行できるというのはどういう状況でしょうか。
    下記の6までお問い合わせのエラーなく実行ができたということでしょうか。
    現状何処まで、またどのような事を実施したか詳しく書いて頂けるとお手伝いし易くなります。


    1. HWCWorker_php_source.zip を解凍。
    2. VS2010を起動、ソースのアップグレード。
    3. デバッグ実行を行い特にエラーが発生しないことを確認。
    (何か画面がでるわけではございませんので、Compute Emulator で稼働状況を確認。)
    4. デバッグを停止。
    5. HWCWorker_Worker プロジェクトのphpフォルダに「 non-thread safe 」PHP zipファイルを解凍して中身をコピー。
    6. デバッグ実行後、ブラウザ http://localhost/ を開き index.php が起動してページが表示される事を確認。


    なお、私の環境では6のページの表示までできました。
    Windows 7 sp1 64bit
    VS2010 sp1
    Azure SDK 1.4 Refresh
    PHP 5.3.6 x86 Non Thread Safe


    • 回答としてマーク こち 2011年5月20日 11:13
    2011年5月18日 15:29

すべての返信

  • こんばんは Mayomayoです。

    構成セクションから推測される限り、 URL Rewrite Module がないためと思われます。
    URL Rewrite Module は、Windows Azure Tools for Microsoft Visual Studio のダウンロードサイトに記述されている推奨されるソフトウェアで触れられています。
    http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018

    下記のサイトから日本語版がダウンロードできますのでご利用ください。
    ( 紛らわしいですが、このIIS7はIIS7と7.5の両方を指しているようです。)
    もし、こちさんがWeb プラットフォームインストーラを利用されていましたらそちらからインストールされても大丈夫です。

    Microsoft URL Rewrite Module 2.0 for IIS 7
    64ビット版
    http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=1b8c7bd8-8824-4408-b8fc-49dc7f951a00

    32ビット版
    http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=c8d3e2a4-5d14-434b-a067-39a6fb8b9311

     

    2011年5月16日 10:02
  • Mayomayoさん、回答ありがとうございます。

    Microsoft URL Rewrite Module 2.0 for IIS 7はインストールしています。

    ソースコードはWindows Azure Hosted Web Core Worker Role

    からダウンロードしました。PHP用のものを使っています。

    Windows 7にインストールしているVisual Studio 2010 SP1で開いています。

    セクション宣言をどのように書いたら良いのでしょうか。

     

    2011年5月16日 10:50
  • こちさん

    Url Module はインストール済みだったのですね。

    私はPHPの技術者ではないので的を外しているかもしれませんが、もし私が調査するなら次の手順で行います。

    1. HWCWorker_source.zip 単体だけデバッグ可能か確認する。
    2. HWCWorker_php_source.zip のソリューションを展開して。
    A. http://archive.msdn.microsoft.com/hwcworker のPHP Instructions の項目のドキュメント
    You'll need to put a copy of PHP in the folder called "php". ~
    に記述されているPHPモジュールの配置が正しいか確認して、プレーンなindex.htmlとhelloWorld的なphpファイルが起動するか確認する。
    B. PHP Instructions のリンク先を読んで怪しい場所を探る。

    Web サイトを見る限りソースコードの構成ファイルのセクションはすでに設定済みと思われますが、こちさん自身で構成を変更されたりされているのでしょうか。もしそうでしたらこちらの2-Bサイトのリンク先に、Provide URL Rewriting Functionality for PHP Applications をご確認ください。

    単純に、Url Rewrite モジュール 2 の使用方法でしたらこちらのリンクがいいかと思います。
    こちらのように、IIS マネージャで設定してweb.config の同セクションにコピーするのが楽かと思われます。
    http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

     

    2011年5月16日 11:50
  • Mayomayoさん、ありがとうございます。

    phpファイルは実行できるのですが、URLRewriteモジュールが読み込まれていないように思います。

    >Web サイトを見る限りソースコードの構成ファイルのセクションはすでに設定済みと思われますが、

    構成ファイルの書き方がよくわからなくて見つけられません。お手数ですが、ファイル名とその部分を教えていただけないでしょうか。

    2011年5月16日 12:25
  • こちさん

    Mayomayoです。

    > Web サイトを見る限りソースコードの構成ファイルのセクションはすでに設定済みと思> われます

    と書きましたのは、http://archive.msdn.microsoft.com/hwcworker のPHP nstructions に、
    ・「HWCWorker_php_source.zip 内の構成ファイル applicationHost.config, web.config は、共にPHP FaastCGI用の推奨設定を行っている。」
    ・PHPの実行モジュールのコピーとのみ必要
    と記述されていた2点から特別な構成ファイルの設定は不要かと思います。
    ( ソースを見る限り、 applicationHost.config で URLRewrite が既に組み込まれています。)

    既にURL Rewrite モジュールはインストール済みであるということですので、その上で構成ファイル(xxx.config)がらみでエラーが出るとしたらこちさん自身が構成ファイルを変更された事が原因ではないかなと推測して、リンク先の Provide URL Rewriting Functionality for PHP Applications を見られては如何でしょうかとお伝えしました。

    また Url Rewrite でURL書き換えを行っておりその指定に問題があるなら簡単に設定する方法が必要だろうと推測して使用方法とweb.configの設定が記述されているURLをお伝えしました。


    現状ですとこちさんの遭遇されている問題の原因が何か探っている状況です。
    一緒にPC画面を見ていればIISがらみの問題はある程度答えられるのですが現実無理なので推測です...(^_^;;


    > phpファイルは実行できるのですが、URLRewriteモジュールが読み込まれていないように思います

    PHPのファイルを実行できるというのはどういう状況でしょうか。
    下記の6までお問い合わせのエラーなく実行ができたということでしょうか。
    現状何処まで、またどのような事を実施したか詳しく書いて頂けるとお手伝いし易くなります。


    1. HWCWorker_php_source.zip を解凍。
    2. VS2010を起動、ソースのアップグレード。
    3. デバッグ実行を行い特にエラーが発生しないことを確認。
    (何か画面がでるわけではございませんので、Compute Emulator で稼働状況を確認。)
    4. デバッグを停止。
    5. HWCWorker_Worker プロジェクトのphpフォルダに「 non-thread safe 」PHP zipファイルを解凍して中身をコピー。
    6. デバッグ実行後、ブラウザ http://localhost/ を開き index.php が起動してページが表示される事を確認。


    なお、私の環境では6のページの表示までできました。
    Windows 7 sp1 64bit
    VS2010 sp1
    Azure SDK 1.4 Refresh
    PHP 5.3.6 x86 Non Thread Safe


    • 回答としてマーク こち 2011年5月20日 11:13
    2011年5月18日 15:29
  • どうもありがとうございました。原因は私が構成ファイルを壊してしまっていたことでした。
    何度もご親切にありがとうございました。


    2011年5月20日 11:18