Groove Labo
  • Home
  • About

カテゴリー

  • Active Directory (1)
  • FastCGI (2)
  • IIS (2)
  • javascript (5)
  • kickstart (1)
  • MySQL (3)
  • PHP (2)
    • CakePHP (1)
  • postfix (1)
  • Python (7)
  • Ruby on Rails (3)
  • Trac (5)
  • Webサーバー (4)
    • Apache (2)
    • lighttpd (1)
    • pound (1)
    • proxy (1)
  • はじめまして (1)
  • サーバーインフラ (6)
    • Amazon EC2 (2)
    • ZABBIX (3)
  • ソフトウェア開発 (12)
    • テスト (4)
  • ツール (9)
    • backup (1)
    • capistrano (1)
    • CMS (2)
    • couchdb (2)
    • MODx (2)
    • rsync (1)
    • tiddlywiki (1)
    • Wiki (2)
  • デザイン (1)
  • プロジェクト管理 (7)
  • 仮想環境 (5)
    • EC2 (1)
    • VMware (1)
    • Xen (3)
  • 読書 (3)

最近の投稿

  • Railsのdatetime_selectの保存の仕組みを調べてみる
  • [メモ] CentOS5 にkeepalived を設定する
  • ドッグフードを食べる – BTS & SCM
  • CakePHP で連結テーブルのモデルは先に宣言すること
  • ActiveRecord の conditions を作成するためのクラスを作ってみた

Twitter

  • blog: Trac : プラグイン一覧 http://blog.ciklone.com/2010/08/15/trac-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%b8%80%e8%a6%a7/ 2010-08-25
  • blog: Trac プラグイン : Awesome Attachments Plugin http://bit.ly/aR3AXc 2010-08-25
  • blog: 機能紹介「ダッシュボード」 http://bit.ly/csA7pU 2010-07-01
  • More updates...

Powered by Twitter Tools

ブログロール

  • Cubo
  • OpenGroove
  • zeera document search
  • zeera document search 診断
IIS 7 + FastCGI で PHP 5.3 を実行する
投稿日 2010年2月22日 月曜日 カテゴリ FastCGI, IIS, PHP 投稿者 omaeコメントは受け付けていません。 

こんにちわ。omae です。

今回は IIS 7 で PHP 5.3 を実行する環境が必要になったのでその手順を残しておきたいと思います。

作業しようとしてから気づいたのですが PHP 5.3 から isapi モジュールが廃止されていました。PHP 5.2 以前までは isapi モジュールで環境を作成していたのですが、廃止されてしまったものはしょうがありません。IIS 7 からは FastCGI が正式に対応しているので、こちらで設定することにします。

手順

1. PHP 5.3.1 をインストール

PHP For Windows: Binaries and sources Releases より今回は VC6 x86 Thread Safe (ZIP) を使うことにしました。この zip ファイルを C:\php に展開します。

ここでコマンドプロンプトを起動して C:\php\php-cgi.exe -h が実行できることを確認しておきます。実行すると以下のようなエラーが上がる場合は php.ini から extension=php_mssql.dll をコメントアウトします。SQL Server に接続する予定があるなら ntwdblib.dll を準備します。

無事に実行出来た場合:

C:\>C:\php\php-cgi.exe -h
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
       php <file> [args...]
  -a               Run interactively
  -b <address:port>|<port> Bind Path for external FASTCGI Server mode
  -C               Do not chdir to the script's directory
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.  Implies `-q'
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -q               Quiet-mode.  Suppress HTTP Header output.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.
  -T <count>       Measure execution time of script repeated <count> times.

2. IIS で FastCGI が使えるように設定します

サーバーマネージャを起動して「Web サーバー (IIS)」の機能に「CGI」がインストール済みになっていることを確認します。 インストールされていない場合は「役割サービスの追加」からインストールします。

3. php.ini に fastcgi のための設定を行う

php.ini を開いて次の設定に変更します。

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

4. IIS マネージャから PHP のハンドラを設定する

a. IIS マネージャを起動し、ハンドラマッピングを開きます。

b. 「モジュールハンドラの追加」を選択し、以下の要領で *.php に対して fastcgi による php の実行を設定します。

5. phpinfo.php にアクセスして確認

C:\inetpub\wwwroot\phpinfo.php などに <?php phpinfo(); と書いたファイルを用意して、このファイルにブラウザからアクセスしてみます。

無事に phpinfo() が参照できれば、設定は完了です。

ついでにタスクマネージャを起動して FastCGI なので php-cgi.exe プロセスがいるか確認してみましょう。

ちゃんといますね。

参考

  • PHP: Microsoft IIS 7.0 以降 – Manual
  • Using FastCGI to Host PHP Applications on IIS 7.0 : Host Applications on the Microsoft Web Platform : Running PHP Applications on IIS : The Official Microsoft IIS Site

ソフトウェアエンジニアのためのバグトラッキングシステム : Ciklone

ソフトウェアエンジニアのためのバグトラッキングシステム

ソフトウェアエンジニアのためのバグトラッキングシステム

Comments are closed.

Copyright © 2004-2010 OpenGroove,Inc. All rights reserved.