WindowsでApacheがFastCGIモードでPHPを実行

8176 ワード

ステップ1:インストールしたファイルをダウンロードする
1.Apacheバージョンhttpd-2.2.21-win32-x86-no_ssl.msi2. mod_fcgidバージョンmod_fcgid-2.3.6-win32-x86.zip3. MySQLバージョンmysql-5.5.19-win32.msi4. PHPバージョンphp-5.3.5-nts-Win32-VC6-x86.zip
ヒント:1.開発を完了するためにSSL機能のないApacheバージョンを選択することをお勧めします.ここではhttpd-2.2を使用しています.21-win32-x86-no_ssl.msi.2.Apacheオフィシャルから提供されるmodを選択することを推奨します.fcgidはFastCGIモジュールとして機能する.ここでは現在の最新バージョン2.3を使用します.6. mod_fcgid公式アドレス3.Windowsの下にMySQLをインストールすると選択します.msiインストールパッケージフォーマット、mysql-5.5を選択しました.19-win32.msi、ダブルクリックしてウィザードに従ってインストールすれば、簡単で便利です.4.PHP php-5.3.を選択5-nts-Win32-VC6-x86.zipというバージョンです.これはnts(非スレッドセキュリティ)バージョンで、PHP向けのFastCGIインストール方式です.
ステップ2:ファイルのインストール
1.インストールするディスクにフォルダを作成します.後で管理するために、Dディスクのルートディレクトリの下にWAMPフォルダを作成します.D:\WAMP(WAMPはwindows+apache+mysql+phpの略).2.WAMPフォルダの下にWWWフォルダを作成し、PHPのWebサイトプログラムを保存します.D:WAMPWWW.3.Apacheサーバをインストールし、ApacheサーバをD:WAMPApacheフォルダにインストールします.具体的なApacheインストール手順は、ドキュメントApacheインストールの図解を参照してください.4.ダウンロードしたphp-5.3.5-nts-Win 32-VC 6-x 86を解凍しますD:WAMPPHPフォルダ.5.MySqlデータベースをインストールし、MySQLをD:WAMPMySQLフォルダにインストールします.具体的なMySQLインストール手順は、ドキュメントMySQLインストールの図解を参照してください.
ステップ3:Apacheの構成
まず、テキスト編集ツール(推奨EditPlus)を使用してD:WAMPApacheconfhttpd.confファイルを開きます.このファイルはApacheのプロファイルです.次のステップでは、このファイルの内容を変更します.httpd.confファイルの変更が完了したら、Apacheサービスを再起動する必要があります.新しい設定が有効になります.
1.リスニングポートの設定
開くconfファイルを検索すると、Listen(46行目)が見つかり、その後の数字を8080に変更します.以下のようにします.
        Listen 8080

このパラメータはApacheサーバのリスニングポートを設定するために使用されます.一般的にデフォルトは80です.8080に変更したのは、Windows 2003システムのIISポート番号と競合しないようにするためです.IISを有効にしていない場合は、デフォルトの80ポート番号を使用することもできます.
2.Webサイトの保存ディレクトリの変更
ApacheのデフォルトのWebサイトには、Apacheインストールディレクトリの下にあるhtdocsフォルダが格納されていることがわかります.Webサイトの保存ディレクトリを変更する場合は、対応するApache構成を変更する必要があります.プロファイルhttpd.confでDocumentRootを検索し、Webサイトのディレクトリへの正しいフォルダに変更します.ここでは
DocumentRoot "D:/WAMP/www"

同時に、This should be changed to whatever you set DocumentRoot toを検索し、その下にという行があり、自分で構成したDocumentRootパスに変更します.ここでは、次のように変更します.
<Directory "D:/WAMP/www">

3. mod_fcgid構成
ダウンロードするmod_fcgid-2.3.6-win32-x86.zip圧縮パッケージの「mod_fcgid.so」ファイルはapacheの「modules」ディレクトリにコピーされます.
開くconfファイルは、最後に次の構成を追加します.
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi .php
    #php.ini     
    FcgidInitialEnv PHPRC "D:/WAMP/PHP"
    #   PHP_FCGI_MAX_REQUESTS     FcgidMaxRequestsPerProcess,  php-cgi             
    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
    #php-cgi          
    FcgidMaxRequestsPerProcess 1000
    #php-cgi      
    FcgidMaxProcesses 5
    #      
    FcgidIOTimeout 120
    FcgidIdleTimeout 120
    #php-cgi   
    FcgidWrapper "D:/WAMP/PHP/php-cgi.exe" .php
    AddType application/x-httpd-php .php
</IfModule>

DocumentRootパスの構成を次のように変更します.
<Directory "D:/WAMP/WWW">  
    Options Indexes FollowSymLinks ExecCGI      Order allow,deny  
    Allow from all  
    AllowOverride All  
</Directory>

注意:上の赤い文字の部分.optionに属性ExecCGIを追加する
4.目次トップページファイルの変更
プロファイルhttpd.confでDirectoryIndexを検索します.htmlは次のように変更されます.
DirectoryIndex index.html index.htm index.php

Directory Indexとは、クライアントブラウザがアクセスするパスがディレクトリである場合にApacheがデフォルトで実行するファイルのことです.私たちが変更した例では、お客様のブラウザがディレクトリにアクセスすると、Apacheはそのディレクトリの下のindexを探しに行きます.html、indexを探していない場合.まだindexを探してないphp.見つからない場合は、ディレクトリの下にあるファイルのリストがデフォルトで表示されます.参照ドキュメント:Apacheがファイルリストを表示しない場合
ステップ4:PHPの設定
PHPインストールディレクトリ、すなわちD:WAMPPHPを開くと、ディレクトリの下にこのようなファイルphpが2つあることがわかります.义齿ini-production、1つ目は開発で使用するプロファイル、2つ目は生産環境の構成です.私たちは本機で開発しているので、前者を選択します.php.ini-developmentは同じディレクトリにコピーしphpと名前を変更する.ini.このphp.iniは現在使用するプロファイルであり、以下のステップではこのphpを修正する.iniファイルの内容.注意すべきはphpを修正することです.iniファイル後にApacheサービスを再起動する必要があり、新しい設定が有効になります.
1.PHP拡張ライブラリの保存ディレクトリを指定する
WindowsでPHPの拡張ライブラリは、通常、PHPのextディレクトリにDLL形式で格納されます.テキストツールを使用してphpを開きます.iniファイル、extension_を検索dir=「ext」、つまりOn windowsの下の行です.その前のセミコロンを削除して、次のように変更します.
        extension_dir = "D:/WAMP/PHP/ext"

extension_dirは、対応するDLLファイルを呼び出すためにPHP拡張ライブラリの特定のディレクトリを表します.
2.対応する拡張ライブラリを開く
デフォルトでは多くのPHPの拡張ライブラリが閉じられています.たとえば、デフォルトのPHPではMysqlデータベースへの接続がサポートされていないため、対応する拡張ライブラリを開く必要があります.ここでは、一般的な拡張ライブラリを開きます.検索;Windows Extensions(約941行)の下にextensionのリストがあります.次の拡張子があります.
        ;extension=php_curl.dll
        ;extension=php_gd2.dll
        ;extension=php_mbstring.dll
        ;extension=php_exif.dll
        ;extension=php_mysql.dll
        ;extension=php_mysqli.dll
        ;extension=php_pdo_mysql.dll
        ;extension=php_pdo_odbc.dll
        ;extension=php_sockets.dll
        ;extension=php_xmlrpc.dll
        ;extension=php_xsl.dll

以上のextensionの前のセミコロン";"取り除く.他の拡張モジュールをロードしたい場合は、前のセミコロンを削除すれば同じ方法です.ヒント1:Apacheを再起動するヒント「unable to load dynamic library……php_curl.dll」php_をロードcurl.dllエラー.解決策はPHPディレクトリのlibeay 32をコピーすることである.dllとssleay 32.dllはwindowsディレクトリまたはwindows/system 32ディレクトリの下にあり、システムPath環境変数に含まれるパスであればよい.コピーしたくない場合は、PHPパスをシステムPath環境変数に直接配置することもできます.私のコンピュータを右クリックします=>属性=>高度=>環境変数=>システム変数の中にPathがあって、ダブルクリックして開けて、あなたのPHPの経路をプラスしてセミコロン";もっと前(;D:WAMPPHP)を追加すればOKです.Apacheを再起動してもエラーは表示されません.ヒント2:Exif拡張は画像のexif情報を表示するために使用されます.この拡張にはmbstring.dllのサポートが必要なので、extension=php_exif.dllの行をextension=php_mbstring.dllの後ろに書かなければなりません.ヒント3:PHPが持参した拡張ライブラリがあなたのニーズを満たすことができない場合、あなたはpeclに行ってもいいです.php.Net必要なライブラリを検索してダウンロードします.Windowsユーザーはpecl 4 winに行くことができます.php.Netまたはhttp://downloads.php.net/pierre/すでにコンパイルしたDLLファイルをダウンロードして、同じく行くことができますhttp://museum.php.net/php5/PECLコレクション圧縮パッケージをロードします.ヒント4:多くの人がphpを探しています.zip.dll、実はphp 5から.3からzip拡張が統合されていますが、 zip拡張の説明を見つけます.
3.PHPに短いラベルをサポートさせる
php.iniプロファイル検索short_open_tag=Off(約266行)に変更:short_open_tag=Onで短いラベルをサポートさせます.phpのコードは一般的にのラベルに含まれ、short_open_tag=Onを設定した後、より簡潔な形式で書くことができます:.
4.PHPのSession機能の構成
セッション機能を使用する場合は、サーバ上のセッションファイルの保存ディレクトリを構成する必要があります.セッションのために読み取り可能なディレクトリを作成する必要があります.このディレクトリはウェブサイトのディレクトリとは独立しているほうがいいです.ここでディレクトリをD:WAMPsessiontmpに建ててphp.iniプロファイルで探す;session.save_path="/tmp"(約1467行)、前のセミコロン";"を取り除き、以下に変更します.
        session.save_path = "D:/WAMP/sessiontmp"

5.PHPのファイルアップロード機能の設定
セッションと同様に、PHPファイルアップロード機能を使用する場合は、ファイルアップロード機能を完了するために一時フォルダを指定する必要があります.そうしないと、ファイルアップロード機能が失敗します.読み書き可能なディレクトリフォルダD:WAMPfileuploadtmpを作成しphp.iniプロファイルに見つかりました.upload_tmp_dir=(約875行)、次のように変更されます.
        upload_tmp_dir = "D:/WAMP/fileuploadtmp"

PHPのデフォルトのアップロードファイルのサイズは2 Mを超えません.2 Mより大きいファイルをアップロードするには、ドキュメントのphpを参照してください.iniはファイルアップロード機能を実現します.
6.タイムゾーンの設定
php.iniプロファイル検索;date.timezone=、前のセミコロンを外す";"以下に変更します.
date.timezone = PRC

date.timezoneはPHP 5である.1新しい構成パラメータを開始し、タイムゾーンを設定します.デフォルトdate.timezoneは注釈されています.つまり、デフォルトのタイムゾーンはUTCグリニッジ標準時間です.ここでdateに変更します.timezone=PRC(PRC,People’s Republic of China,中華人民共和国)は、日付が中国のタイムゾーンを使用することで、8時間の時間差の問題を解決することができます.
ステップ5:テスト
以下のコードをindexとして保存する.phpファイルは、D:WAMPWWWディレクトリの下に置きます.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>     </title>
        </head>
        <body>
            <div style="text-align:center; color:red">
            <?php
                $link=mysql_connect("localhost","  mysql    ","  mysql    ");
                if(!$link) echo "MySQL        !";
                else echo "MySQL        !";
                mysql_close();
            ?>
            </div>
            <br/>
            <?php phpinfo(); ?>
        </body>
</html>

ブラウザのアドレスバーに「http://localhost:8080/index.php”.結果が見えます.