SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

IIS+phpする – せっかくのWindowsマシンだから

概要

せっかくWindowsマシンを使っているのだから、IIS+phpの環境が、さくっと作れるかやってみる。

LinuxでApacheである必要がない場合や、ちょっとした開発にはちょうどよいのではなかろうか。

以下、OSは Windows7 Home Premium にて。

IIS有効化

コントロールパネル → プログラム → Windowsの機能の有効化または無効化。

  「インターネットインフォメーションサービス」の「World Wide Web サービス」を有効化。

    FastCGIするので、「アプリケーション開発機能」の「CGI」も有効化。

  ついでに、GUIで設定したいので、「Web 管理ツール」の「IIS 管理コンソール」も有効化。

この時点で、http://localhost/http://127.0.0.1/ にアクセスすると、IIS7の初期のページが表示される。

php入手、設定

Windows向けバイナリを、こちらからダウンロード http://windows.php.net/download/

IISの場合、Non Thread Safe を使う。zip版でよい。解凍して置くだけでよい。

C:\php など任意の場所に置く。

あとで、解凍したファイルの中の php-cgi.exe を使う。

php.ini を、用途に応じて編集しておく(MySQLを有効化したり、mssqlを有効化したり…)

IISでphpが動くようにする

IISとphpの連携はFastCGI。

ハンドラーマッピングの設定で、*.phpをFastCgiModuleで扱うようにして、実行可能ファイルに先ほどの c:\php\php-cgi.exe を指定する。名前は何でもよい。

動作確認として、phpinfo()などを表示するphpを置いて、アクセスしてみるとよい。

IISでURLのrewriteができるようにする

URL書き換えモジュールは別途インストールしなくてはならない。

こちらからダウンロード http://www.iis.net/download/URLRewrite

日本語版が欲しいときは、画面右側ではなくて、画面右ずっと下の方の「Japanese」のところからダウンロードする。

インストーラー(msi)なので、画面に従ってインストール。

インストールして、IISマネージャーを再起動すると、管理画面に”URL 書き換え”という項目が増える。

………………………………………………………………………………
  以上で準備はOK。
………………………………………………………………………………

(実習)URL 書き換え機能を使ってみる

あるディレクトリ以下へのアクセスを、あるphpへのアクセスに書き換えるよう設定する。

mod_rewriteでよくやる”あれ”ですね。ファイルがあればそちらへ。なければ全部index.phpに集める。

.htaccessに書くときはこんな感じになる、”あれ”です。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php

IIS マネージャーの管理画面で、
・該当のディレクトリを選択
・URL 書き換えを開く
・規則の追加
・受信規則 の 空の規則 を選択
  名前: 適当に付ける
  URLの一致: パターンを.*に
  条件: {REQUEST_FILENAME} が ファイルではないとき
      and {REQUEST_FILENAME} が ディレクトリではないとき
  アクション: 書き換え で index.php に 設定

操作がややこしくて説明が面倒だが、「mod_rewrite規則のインポート」という機能も用意されているので、詳細はよく分からなくてもなんとなく設定できてしまう。

この設定をすると、対象のフォルダの中に、.htaccessのかわりにweb.configというXMLファイルができている。「IISだとこうなるのかー」というところは追々慣れていくとよいと思う。

これでWordPressなどもちゃんと動かすことができる。

参考

PHP on Windows ガイドライン (ドラフト) by Microsoft

関連するメモ

コメント