Windows2012のIISへPHPをインストールする手順

2015年8月18日

本来はPHPよりもColdfusionを使っているのですが、Wordpressなどを利用する必要がある為、IISでPHPをインストールする手順をメモしておきます。

PHPのサイトからダウンロード

http://windows.php.net/download

個人的にはインストーラーはあまり信用していない為、基本的にZIPファイルでバイナリデータをダウンロードして使用します。

php_step1

非スレッドセーフ(Non Thread Safe )を推奨

ダウンロードにある、スレッドセーフ(Thread Safe)はマルチスレッド間の共有データの処理を考慮したバージョン、非スレッドセーフ(Non Thread Safe )は、マルチスレッド間の共有データの処理を考慮しないパフォーマンス優先とも言えるバージョン。

IIS を使う場合は、非スレッドセーフ版の PHP を推奨します。非スレッドセーフ版は » PHP for Windows: Binaries and Sources Releases. で取得できます。

上記のように公式サイトではIISを使う場合は非スレッドセーフ版の PHPを推奨していますので、Non Thread Safeを使用。基本的に64bit環境なので、32bit環境の人はx86をダウンロードして利用。

ダウンロードしたPHPを設置

PHPのインストールには3つ方法があります。

  1. php5ts.dllをWindowsのシステムディレクトリ(例:C:\Windows\System32)にコピーする
  2. php5ts.dllをWebサーバのディレクトリにコピー
  3. phpのインストールディレクトリ(C:\php)にパスを通す

今回はわたしは3番目のパスを通すやり方でやっていきます、将来的にメンテナンスも含めてわかりやすいのが、個人的に3番目。

cdrivephp

 

ダウンロードしたzipを「PHP」のフォルダーを作成して、そこに移動。PHPのディレクトリを「c:¥PHP」へ移動する、移動先はどこでもいいと思いますがわかりやすいのはC:直下。

php.iniファイルを作成

phpini

php.ini-developmentを同じディレクトリにコピーしてファイル名を”php.ini”に変更し、その中身を変更する。

extension_dir

拡張モジュールのディレクトリへのパスを絶対もしくは相対パスで指定します。

extension_dir = "C:\PHP\ext"

log_errors

PHPのログ出力機能の有効化・無効化を設定します。php.ini-developmentではデフォルトでONの設定になっています。ログは基本的に残しておいた方がいいと思います。

log_errors = On

error_log

PHPのエラーログの書き出し場所。指定した場所に保存します。

error_log = "C:\php\logs\php_errors.log"

date.timezone

PHPのタイムゾーンの設定

date.timezone = Asia/Tokyo

cgi.force_redirect

PHPのディレクトリセキュリティ機能の有効化・無効化を設定します。IISでは無効化にする必要あり。

cgi.force_redirect = 0

open_basedir

クライアントがアクセスできる範囲を設定、wwwrootのみを使う場合はパスを入力する

open_basedir = none

cgi.fix_pathinfo

cgi.fix_pathinfo=1

upload_tmp_dir

phpでformからファイルを受け取る時の一時保存場所。php内にtempフォルダを作成し追加しましたが、場所はおそらくどこでもいいはずです。

upload_tmp_dir= ""C:\php\temp\"

php_mysql.dll、php_pdo_mysql.dll

PHPからMySQLなどデータベースを利用する場合

extension = php_mysql.dll
extension=php_pdo_mysql.dll

IISでPHPのパスを設定する

IIS での FastCGI を有効化し、「ハドラーマッピング」を選択しから「モジュールマップを追加」を選択。

phpmodule

要求パス:*.php
モジュール:FastCgiModule
実行可能ファイル:C:\PHP\php-cgi.exe
名前:PHP(わかりやすいので)

PHPフォルダにアクセス権を追加

IIS_IUSRS

 

IIS_IUSRSのユーザーを追加しアクセス権をPHPのフォルダに追加する

IISを再起動しphpinfoで確認

PHPの拡張子でファイルを作成し以下のソースで保存

<? phpinfo();?>

そして、そのファイルにアクセスすして画面が表示されれば成功となります。

phpinfo

 

注意点

php.iniの設定はしっかりやっておかないと、500エラーでかなり苦戦することになります、使用後もWordpressなどを使用する際は、アップロード先の一時保管のフォルダのアクセス権を設定しておかなければ後に結構ハマったりもしました。要注意です。

GO TO HOME

こちらも合わせて読む

risings.red