0.はじめに
色々なサイトを見ながらCakePHP3のチュートリアルを進めていた際に、
localhost/cmsと入力したのに真っ白なページが表示されてしまった。
しかも、そもそもlocalhost/phpinfo.phpすらも真っ白だった。
しかし、原因を調べようにもCakePHP3を使うにあたってIISを用いることが珍しいのか、
なかなか自分の現象を解決する方法が書いてあるサイトが見つからなかった。
結論から言うとIISの設定不足だったのだが、見つけるのに苦労したのでここに記しておく。
ただし、IISでCakePHP3を動かす方法全体を書いているわけではないので注意。
(後ほどリンクを貼っておくかも。もしくは自分でまとめるか)
1.ハンドラーマッピング
まずphpinfo.phpに関してはハンドラーマッピングの設定が漏れていた。
詳しくは調べていないが、.phpのモジュールマッピングを設定に組み込まないといけないらしい。
以下に簡単に設定方法を記載する。上の言葉だけで解決した人は作業に進んでもらって大丈夫だ。
1.IISからハンドラーマッピングを選択する
2.右のメニューから「モジュールマップの追加」を選択する
色々似たようなものがあるが、モジュールマップの追加を選択。
ちなみに左側の一覧で選択されているのが今回追加するモジュールマップというもの。
3.必要項目を入力してOKボタンを押す
画像はモジュールマップの編集のものになっているが、
モジュールマップの追加と同じ構成なので許してほしい。
要求パスとモジュールは画像の通りに入力。
実行可能ファイル(オプション)はご自身の環境のパスを参考に入力。
名前は任意です。自分は適当にPHPなんて名前を付けました。
ハンドラーマッピングの設定については以上です。
これでlocalhost/phpinfo.phpに飛んだらPHPの設定が表示されるかもしれません。
(phpinfo.phpを作成している前提の話ですが)
2.既定のドキュメント
こちらこそ本当に基礎の基礎なのか全然出てこなかった。
URL書き換えもあるし、web.configも問題ないのになぜlocalhost/cmsに飛ばない!ってなってた。
簡単に言うと、既定のドキュメントにindex.phpを入れる。これだけでした。
こちらも先ほどと同様に簡単に説明。
1.IISから既定のドキュメントを選択する
2.右のメニューから「追加」を選択する
3.「index.php」を入力してOKボタンを押す
これでOK。無事URL書き換えが実行されてlocalhost/cmsと入力しただけでindex.phpを開いてくれるはず。
9.最後に
最初にも書いたが、これはあくまで自分が見つけるのに時間のかかった部分だけをまとめたに過ぎない。
本当にIISでCakePHP3を動かすには他にも色々な設定が必要になる。
(それこそURL書き換えやDB接続にもちょっとした難所があったり……)
まあ、色々と書いたけど、少しでも自分と同じところで躓いている人の助けになれればとまとめてみました。
一人でもこの記事のおかげで開発が停滞する時間が短縮できる人がいれば幸いです。
初記事なので、文章として読みにくいところとか、色々と指摘があればどんどんお願いします。