PHP超级配备模块
PHP超级配置模块
在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.
?
--------------------------------------------
在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之中调用PHP还存在module(模块)方式和CGI方式,同时Apache还存在Apache1和Apache2两个版本.
在Apache之中调用PHP存在以下八种模式:
1,PHP4在Apache1的module模式
2,PHP4在Apache1的cgi模式
3,PHP5在Apache1的module模式
4,PHP5在Apache1的cgi模式
5,PHP4在Apache2的module模式
6,PHP4在Apache2的cgi模式
7,PHP5在Apache2的module模式
8,PHP5在Apache2的cgi模式
你有没有想过,把这八种调用模式,就在一个配置文件之中给配置出来呢?
也许你作过,但是没有完全成功,因为这八种模式之间,是不能相互兼容的哦.
然而,灵活运用Apache的一条指令,将这八种模式乖乖的驯服,收容在一起,就易如反掌了.
哪一条指令?原来就是:
在http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/core.html#ifdefine有对这条指令的完整介绍.
代码:
说明: 只有在启动时进行了一个成功的测试后才进行的一个封装指令
语法:
上下文: 服务器配置, 虚拟主机, 目录, .htaccess
覆盖项: All
状态: 核心
模块: core
参数名
!参数名
在第一种情况下,仅当符合参数名的参数已经定义的情况下才对开始和结束标记之间的指令进行处理。第二种情况则截然相反。仅当参数名没有定义的情况下才进行指令的处理。
参数名变量是在服务启动时,通过httpd命令行的-D参数-这样的形式指定的。
$ httpd -DReverseProxy ...
# httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/libproxy.so
?
?
?
##################################################################
# PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache #
##################################################################
# 配置版本 通用版v1.01 #
# 配置编写 乔楚/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
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 application/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_not_php4
SetEnv php_control_status Apache_php5
SetEnv php_control_status Apache_php5_mod
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
SetEnv php_control_status Apache_php5_cgi
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
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 application/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
SetEnv php_control_status Apache2_php5
SetEnv php_control_status Apache2_php5_mod
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
SetEnv php_control_status Apache2_php5_cgi
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--表示Apache1;Apache2--表示Apache2;
# phpVersion:表示PHP的版本,php4--表示PHP4;php5--表示PHP5;
# RunType:表示运行模式,mod--表示以module(模块)方式运行;cgi--表示以CGI方式运行
#
# 通道信息:
# PHP超级配置模块状态:表示环境变量之中PHP超级配置的状态,可以通过CGI探针或者phpinfo()来查看.
# 说明:状态名称:php_control_status
# 状态值: not_php_control_status: 表示没有处于PHP超级配置模块
# Apache : 表示进入Apache1配置区域
# Apache_php4 : 表示进入Apache1的PHP4配置区域
# Apache_php4_mod : 表示进入Apache1的PHP4的module(模块)方式配置区域
# Apache_php4_not_mod : 表示进入Apache1的PHP4的非module(模块)方式配置区域
# Apache_php4_cgi : 表示进入Apache1的PHP4的CGI方式配置区域
# Apache_not_php4 : 表示进入Apache1的非PHP4配置区域
# Apache_php5 : 表示进入Apache1的PHP5配置区域
# Apache_php5_mod : 表示进入Apache1的PHP5的module(模块)方式配置区域
# Apache_php5_not_mod : 表示进入Apache1的PHP5的非module(模块)方式配置区域
# Apache_php5_cgi : 表示进入Apache1的PHP5的CGI方式配置区域
#
# not_Apache : 表示进入非Apache1配置区域
# Apache2_php4 : 表示进入Apache2的PHP4配置区域
# Apache2_php4_mod : 表示进入Apache2的PHP4的module(模块)方式配置区域
# Apache2_php4_not_mod : 表示进入Apache2的PHP4的非module(模块)方式配置区域
# Apache2_php4_cgi : 表示进入Apache2的PHP4的CGI方式配置区域
# Apache2_not_php4 : 表示进入Apache2的非PHP4配置区域
# Apache2_php5 : 表示进入Apache2的PHP5配置区域
# Apache2_php5_mod : 表示进入Apache2的PHP5的module(模块)方式配置区域
# Apache2_php5_not_mod : 表示进入Apache2的PHP5的非module(模块)方式配置区域
# Apache2_php5_cgi : 表示进入Apache2的PHP5的CGI方式配置区域
#
?
?
#测试工程:
# 例如在Window2000环境下,执行以下设备命令:
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php4 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache_php4_mod,表示处于Apache1的PHP4的Module模式之下;
#
# cd /path/to/apache/
# apache -k start -D Apache=Apache php=php5 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache_php5_cgi,表示处于Apache1的PHP5的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php4 type=cgi
# 执行被设备命令之后,php_control_status的值变为Apache2_php4_cgi,表示处于Apache2的PHP4的CGI模式之下;
#
# cd /path/to/apache2/bin/
# apache -k start -D Apache=Apache2 php=php5 type=mod
# 执行被设备命令之后,php_control_status的值变为Apache2_php5_mod,表示处于Apache2的PHP5的Module模式之下;
#
#
#常见问题:
# 1.启动时提示错误,且错误出在PHP超级配置模块的相关行,一般表示相关的设置路径不正确
# 2.启动成功但是没有调用PHP,你可以查看php_control_status的状态值,以确定问题所在,可能执行设备明令时所给的参数不正确
# 3.启动正确,也可以调用PHP了,那你还说什么问题啊,要恭喜你可以正常使用了啊.
# 4.如果问题还不能解决,请和本PHP超级配置模块的开发者取得联系.
#
#
#附加说明:
# 本PHP超级配置模块,只是给出了一个通用的PHP在Apache之下调用的控制方式,使用本PHP超级配置模块的相关行,需要你对Apache和PHP有一定了解.
# 如果你需要更为具体的配置,请和我联系,我将根据您的实际运行环境,作出适合您的实际运行环境的PHP超级配置模块的定制版本.
#
?

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
