ホームページ >バックエンド開発 >PHPチュートリアル >PHPスーパー搭載モジュール
PHPスーパー設定モジュール
Apache での PHP の呼び出しは、現在、PHP には PHP4 と PHP5 のバージョンが存在し、Apache で PHP を呼び出すためのモジュール (モジュール) と CGI メソッドが存在します。同時に、Apache には Apache1 と PHP5 もあります。 Apache2 には 2 つのバージョンがあります。
Apache で PHP を呼び出すには、次の 8 つのモードがあります。
1、Apache1 のモジュール モードの PHP4
2、Apache1 の CGI モードの PHP4
3、PHP5。 Apache1 モジュール モード
4、Apache1 の CGI モード
5 の PHP5、Apache2 モジュール モード
6 の PHP4、Apache2 の CGI モード
7、Apache2 のモジュール モード
の PHP5 8. Apache2 の cgi モード
これら 8 つの呼び出しモードを 1 つの構成ファイルで構成することを考えたことはありますか?
おそらく実行したことがあるでしょうが、完全には成功しませんでした。これらの 8 つのモードは相互に互換性がないためです。 🎜>ただし、Apache の命令の 1 つを柔軟に使用して、これら 8 つのモードを調整し、それらをまとめておくのは簡単です。
----------------------------------------------- --
Apache での PHP の呼び出しは永遠のテーマであり、現在、PHP にはバージョン PHP4 と PHP5 があり、Apache で PHP を呼び出すためのモジュール (モジュール) と CGI メソッドも同時に存在します。バージョン: Apache1 および Apache2。
Apache で PHP を呼び出すには次の 8 つのモードがあります:
1、Apache1 のモジュール モードの PHP4
2、Apache1 の CGI モードの PHP4
3、 PHP5 は Apache1
4 のモジュール モード、PHP5 は Apache1
5 の CGI モード、PHP4 は Apache2
6 のモジュール モード、PHP4 は Apache2
の CGI モードです7、PHP5 は Apache2 のモジュール モードです
8、Apache2 の PHP5 cgi モード
これら 8 つの呼び出しモードを構成ファイルで構成することを考えたことはありますか?
おそらく、完全には構成していません。これら 8 つのモードは相互に互換性がないため、成功しました。
ただし、Apache の命令の 1 つを柔軟に使用して、これら 8 つのモードをまとめることは簡単です。
どの命令であることがわかります。
この命令の完全な紹介は http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/core.html#ifdefine にあります。
< ;IfDefine>Command
コード:
構文:
コンテキスト: サーバー構成、仮想ホスト、ディレクトリ、.htaccess
カバレッジ: すべて
ステータス: コア
モジュール: コア
パラメータ名
!パラメータ名最初のケースでは、開始タグと終了タグの間の命令は、パラメータ名に一致するパラメータが定義されている場合にのみ処理されます。 2 番目の状況はまったく逆です。この命令は、パラメータ名が定義されていない場合にのみ処理されます。
パラメータ名変数は、サービスの開始時に httpd コマンド ラインの -D パラメータを通じて指定されます。
$ httpd -DReverseProxy ...
# httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/libproxy.so
?
############################################# ## #################
# PHP スーパー構成モジュール -- PHP4、PHP5、モジュール、CGI で遊ぶことができます -- Apache に適用 #
# ############################################## ## #############
# 構成バージョン 一般バージョン v1.01 #
# 構成は Qiao Chu/HonestQiao によって作成されました #
# 2004 年 5 月 29 日に作成 #
# 連絡先 QQ:5601680 MSN:honestqiao@hotmail.com #
############################## ## ###############################
# ホームページのアドレス: http://w.yi.org/ #
# フォーラムのアドレス: http://bbs.chinaunix.net/forum/viewforum.php?f=13 #
############### ##### ########################################### #
### ####################################### ######### ###########
# 著作権表示#
# この PHP スーパー構成モジュールは HonestQiao によって書かれています。自由に使用できます。 #
# この PHP スーパー構成モジュールを伝播します。ただし、宣言部分は構成コンテンツの上に置いてください (この宣言は #
# 実際の構成に影響を与えないため)。また、これを書いたのがあなたであることをいかなる形でも示してはなりません #
#PHPスーパー構成モジュール。#
# ご利用いただきありがとうございます。#
################ エラーの報告を歓迎します。 ########################################
SetEnv php_control_status not_php_control_status
SetEnv php_control_status Apache
SetEnv php_control_status Apache_php4_mod
LoadModule php4_module /usr/local/php-4.3.6 /sapi/php4apache.dll #実際のパスに変更してください
#AddModule mod_php4.c
AddType application/x-httpd- php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
#PHPINIDir /usr/local/etc/php/php4.ini
# php.ini を Apache インストール ディレクトリに配置してください
AddType application/x-httpd -php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
SetEnv php_control_status Apache_php4_not_mod
SetEnv php_control_status Apache_php4_cgi
ScriptAlias /php/ "/usr/local/php- 4.3. 6/" #実際のパスに変更してください
Action application/x-httpd-php "/php/php.exe"
#php.ini を Apache インストール ディレクトリに配置してください
AddType アプリケーション/ x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin -2.6.0-alpha2 /" #実際のパスに変更してください
SetEnv php_control_status Apache_php5
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache.dll #実際のパスに変更してください
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source 。 phps
#PHPINIDir /usr/local/etc/php/php5.ini
#php.ini を Apache インストールディレクトリに配置してください
Alias "/server-php" "/usr/local/ etc/ php/phpinfo.php5" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
SetEnv php_control_status Apache_php5_not_mod
ScriptAlias /php/ "/usr/local/php- 5.0.0RC2/" #実際のパスに変更してください
Action application/x-httpd-php "/php/php-cgi.exe"
#php.ini を Apache のインストールディレクトリに配置してください
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
SetEnv php_control_status not_Apache
SetEnv php_control_status Apache2
SetEnv php_control_status Apache2_php4_mod
LoadModule php4_module /usr/local/php-4.3.6/sapi/php4apache2.dll #実際のパスに変更してください
#AddModule mod_php4 . c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
PHPINIDir /usr/local/ etc /php/php4.ini #実際のパスに変更してください
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/ php/phpinfo.php4" #実際のパスに変更してください
Alias"/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
SetEnv php_control_status Apache2_php4_not_mod
SetEnv php_control_status Apache2_php4_cgi
ScriptAlias /php/ "/usr/local/php- 4.3. 6/" #実際のパスに変更してください
Action application/x-httpd-php "/php/php.exe"
#php.ini を Apache インストール ディレクトリに配置してください
AddType アプリケーション/ x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php4" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin -2.6.0-alpha2 /" #実際のパスに変更してください
SetEnv php_control_status Apache2_not_php4
LoadModule php5_module /usr/local/php-5.0.0RC2/php5apache2.dll #実際のパスに変更してください
#AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
PHPINIDir /usr/local/etc/php/php5.ini #実際のパスに修正してください
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
SetEnv php_control_status Apache2_php5_not_mod
ScriptAlias /php/ "/usr/local/php- 5.0.0RC2/" #実際のパスに変更してください
Action application/x-httpd-php "/php/php-cgi.exe"
#php.ini を Apache のインストールディレクトリに配置してください
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
Alias "/server-php" "/usr/local/etc/php/phpinfo.php5" #実際のパスに変更してください
Alias "/phpMyAdmin" "/usr/local/phpMyAdmin-2.6.0-alpha2/" #実際のパスに変更してください
?
#使用法:
# デバイスコマンド:
# 接続構成:
# 上記の PHP スーパー構成モジュールを php.conf という名前のファイルとして保存し、Apache 構成ファイルで Include " を使用します。 /path/to/php.conf" を使用して PHP スーパー構成モジュールを参照します;
# PHP スーパー構成モジュールの変更が必要な部分を、通常はファイルが置かれている実際のパスに変更します。
#
# 起動コマンド:
# ApacheControl -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# Apache を起動するファイル名を httpd とすると、実行コマンドは以下のようになります。 🎜># httpd -k start -D Apache=ApacheVersion php=phpVersion type=RunType
# ApacheVersion: Apache Apache のバージョンを示します。Apache-- Apache2-- Apache2 を示します。 PHP のバージョン、php4 -- PHP4 を表します; php5 -- PHP5 を表します;
# RunType: 実行モードを表します、mod -- モジュール (モジュール) モードでの実行を表します。 >#
# チャネル情報:
# PHP スーパー構成モジュールのステータス: 環境変数内の PHP スーパー構成のステータスを示します。CGI プローブまたは phpinfo() を通じて表示できます。
# 説明: ステータス名。 : php_control_status
# ステータス値: not_php_control_status: PHP スーパー構成モジュールが配置されていないことを示します
# Apache: Apache1 構成領域に入ったことを示します
# Apache_php4: Apache1 の PHP4 構成領域に入ったことを示します
# Apache_php4_mod: Apache1(モジュール) モードの設定領域の PHP4 モジュールに入ったことを示します
# Apache_php4_not_mod: Apache1 に入る PHP4 の非モジュール (モジュール) モード設定領域を表します
# Apache_php4_cgi: を表しますApache1に入るPHP4のCGIモード設定領域
# Apache_not_php4: Apache1に入るPHP4のCGIモード設定領域を表します 非PHP4設定領域
# Apache_php5: Apache1に入るPHP5の設定領域を示します
# Apache_php5_mod: Apache1に入るPHP5のモジュール(module)設定領域を示します
# Apache_php5_not_mod: Apache1のモジュール(モジュール)モード設定領域に入る非PHP5の設定領域を示します
# Apache_php5_cgi: CGIを示しますApache1 に入る PHP5 のモード設定エリア
#
# not_Apache: 非 Apache1 設定エリアに入ることを示します
# Apache2_php4: Apache2 設定エリアに入る PHP4 を示します
# Apache2_php4_mod: モジュール (モジュール) モードを示しますApache2に入ったPHP4の設定領域
# Apache2_php4_not_mod: Apache2に入ったPHP4の非モジュール(モジュール)モード設定領域を示します
# Apache2_php4_cgi: PHP4のApache2 CGI設定領域のエントリを示します
# Apache2_not_php4: Apache2 の非 PHP4 設定領域に入ったことを示します
# Apache2_php5: Apache2 の PHP5 設定領域に入ったことを示します
# Apache2_php5_mod: Apache2 モードに入った PHP5 のモジュール (モジュール) を示します設定エリア
# Apache2_php5_not_mod: Apache2 に入る PHP5 の非モジュール (モジュール) モード設定エリアを表します
# Apache2_php5_cgi: Apache2
#
に入る PHP5 の CGI モード設定エリアを表します
?
#テストプロジェクト:
# たとえば、Window2000 環境では、次のデバイスコマンドを実行します:# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php4 type=mod
# device コマンドを実行すると、php_control_status の値が Apache_php4_mod に変わり、Apache1 の PHP4 のモジュール モードであることが示されます。
#
# cd / path/to/apache/
# apache -k start -D Apache=Apache php=php5 type=cgi
# device コマンドを実行すると、php_control_status の値が Apache_php5_cgi に変わり、CGI 内にあることが示されます。 Apache1 の PHP5 のモード
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php4 type=cgi
# 実行後device コマンドを実行すると、php_control_status の値が Apache2_php4_cgi に変わり、Apache2 の PHP4 の CGI モードであることを示します。
#
# cd /path/to/apache2/bin/
# apache -k start; -D Apache=Apache2 php=php5 type=mod
# device コマンドを実行すると、php_control_status の値が Apache2_php5_mod に変わり、Apache2 の PHP5 のモジュール モードであることを示します。
#
#
#よくある質問:
# 1. 起動時にエラーが表示され、エラーは PHP スーパー構成モジュールの関連行にあります。これは一般に、関連する設定パスが間違っていることを意味します
# 2. 起動は成功したが PHP が呼び出されない場合は、php_control_status のステータス値をチェックして問題を特定できます。デバイス コマンドの実行時に指定されたパラメータが間違っている可能性があります。
# 3. 起動は正しく行われており、PHP は次のことを行うことができます。
# 4. 問題が解決しない場合は、この PHP スーパー構成モジュールの開発者にお問い合わせください。 >#
#
#追加手順:
# この PHP スーパー構成モジュールは、一般的な PHP のみを提供します。この PHP スーパー構成モジュールの関連行を使用して、Apache で呼び出される制御メソッドには、 Apache と PHP についての確実な理解
# より具体的な設定が必要な場合は、実際の動作環境に従って、実際の動作環境に適したカスタマイズされたバージョンの PHP スーパー設定モジュールを作成します。
#
?