2015年8月18日
本来はPHPよりもColdfusionを使っているのですが、Wordpressなどを利用する必要がある為、IISでPHPをインストールする手順をメモしておきます。
http://windows.php.net/download
個人的にはインストーラーはあまり信用していない為、基本的にZIPファイルでバイナリデータをダウンロードして使用します。
ダウンロードにある、スレッドセーフ(Thread Safe)はマルチスレッド間の共有データの処理を考慮したバージョン、非スレッドセーフ(Non Thread Safe )は、マルチスレッド間の共有データの処理を考慮しないパフォーマンス優先とも言えるバージョン。
IIS を使う場合は、非スレッドセーフ版の PHP を推奨します。非スレッドセーフ版は » PHP for Windows: Binaries and Sources Releases. で取得できます。
上記のように公式サイトではIISを使う場合は非スレッドセーフ版の PHPを推奨していますので、Non Thread Safeを使用。基本的に64bit環境なので、32bit環境の人はx86をダウンロードして利用。
PHPのインストールには3つ方法があります。
今回はわたしは3番目のパスを通すやり方でやっていきます、将来的にメンテナンスも含めてわかりやすいのが、個人的に3番目。
ダウンロードしたzipを「PHP」のフォルダーを作成して、そこに移動。PHPのディレクトリを「c:¥PHP」へ移動する、移動先はどこでもいいと思いますがわかりやすいのはC:直下。
php.ini-developmentを同じディレクトリにコピーしてファイル名を”php.ini”に変更し、その中身を変更する。
拡張モジュールのディレクトリへのパスを絶対もしくは相対パスで指定します。
extension_dir = "C:\PHP\ext"
PHPのログ出力機能の有効化・無効化を設定します。php.ini-developmentではデフォルトでONの設定になっています。ログは基本的に残しておいた方がいいと思います。
log_errors = On
PHPのエラーログの書き出し場所。指定した場所に保存します。
error_log = "C:\php\logs\php_errors.log"
PHPのタイムゾーンの設定
date.timezone = Asia/Tokyo
PHPのディレクトリセキュリティ機能の有効化・無効化を設定します。IISでは無効化にする必要あり。
cgi.force_redirect = 0
クライアントがアクセスできる範囲を設定、wwwrootのみを使う場合はパスを入力する
open_basedir = none
cgi.fix_pathinfo=1
phpでformからファイルを受け取る時の一時保存場所。php内にtempフォルダを作成し追加しましたが、場所はおそらくどこでもいいはずです。
upload_tmp_dir= ""C:\php\temp\"
PHPからMySQLなどデータベースを利用する場合
extension = php_mysql.dll
extension=php_pdo_mysql.dll
IIS での FastCGI を有効化し、「ハドラーマッピング」を選択しから「モジュールマップを追加」を選択。
要求パス:*.php
モジュール:FastCgiModule
実行可能ファイル:C:\PHP\php-cgi.exe
名前:PHP(わかりやすいので)
IIS_IUSRSのユーザーを追加しアクセス権をPHPのフォルダに追加する
PHPの拡張子でファイルを作成し以下のソースで保存
<? phpinfo();?>
そして、そのファイルにアクセスすして画面が表示されれば成功となります。
php.iniの設定はしっかりやっておかないと、500エラーでかなり苦戦することになります、使用後もWordpressなどを使用する際は、アップロード先の一時保管のフォルダのアクセス権を設定しておかなければ後に結構ハマったりもしました。要注意です。
のんびり日々を過ごしながら様々なことにチャレンジしております。基本Apple好きです。