YouTube | Facebook | X(Twitter) | RSS

IIS で PHP のエラー内容を調べる方法

2014/9/11 (木)

ローカルの Windows IIS に WordPress をセットアップしようとしてはまったのでメモしておきます。

事前に PHP と MySQL をセットアップし、動作しているものとして読んでください。

別の仕事(本業)で Web GIS 製品も扱うので IIS で新しくサイトを作成し、83 とか適当なポートを割り当てました。

capture1 

そこに WordPress と PHPMyAdmin をダウンロードして展開し、ブラウザからアクセスすると画面が真っ白(Firefox)、Internet Explorer だと 500 エラーを返します。

capture2

を書いた index.php を作成して該当のサーバに設置しても問題なく表示されてます。

capture3 

このせいで PHP の設定には問題ないと錯覚することになります。

仕事帰りの先輩を引き留めて見てもらうも解決できず、、、翌日へ繰り越しに。

翌日、エラー情報のトレースから始めようということでネットを検索すると以下のサイトが見つかる。

IIS7 のトレース機能を使用して失敗した要求をトラブルシューティングする
//technet.microsoft.com/ja-jp/library/dd647604.aspx

この情報を元に IIS マネージャーで以下の設定を行いました。

capture4 

  1. 作成したサイトで、[操作] ウィンドウ → [失敗した要求トレース...] をクリック
    ※「失敗した要求トレースの追加」項目がない場合は「役割サービスの追加」で「トレース」を追加してください。
  2. [Web サイトの失敗した要求トレース設定の編集] を 有効にする
    capture5
  3. サイトを選択し、[失敗した要求トレースの規則] をダブルクリック
  4. [失敗した要求トレースの規則] で右上の [操作] ウィンドウ → [追加...] をクリック
    capture6
  5. [失敗した要求トレース規則の追加] ダイアログで、[すべてのコンテンツ] をチェックして [次へ]
     capture7
  6. [どの条件で要求をトレースしますか?] で「状態コード」にチェックを入れ、"500" を入力(今回のエラーは 500 エラーなので)し、[次へ]
  7. そのまま [終了] をクリックして追加
    capture8 
  8. 再度 Web ブラウザで該当 URL にアクセスしてエラーを発生させます。その後で、2.で設定したフォルダに生成された XML を表示します。C:\inetpub\logs\FailedReqLogFiles\W3SVCxx

    capture9

FastCgiModule の Notification 128 が発生していることが分かりました。この情報を検索すると以下のサイトが見つかり、open_basedir の設定が怪しいことが判明します。

//symfoware.blog68.fc2.com/blog-entry-1077.html

今回の原因

php.ini のパラメータが以下のように設定されており、ポート83 用に切ったディレクトリが対象となってませんでした。

open_basedir = C:\inetpub\wwwroot

open_basedir = C:\inetpub と書き換えて解決!

先日引き留めた先輩曰く、

「やっぱ Apache でっせ。」

  • この記事を書いた人

羽田 康祐

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

-IT, Web