- 论坛徽章:
- 1
|
在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有对这条指令的完整介绍.
<IfDefine>;指令
- 说明: 只有在启动时进行了一个成功的测试后才进行的一个封装指令
- 语法: <IfDefine [!]参数名>; ... </IfDefine>;
- 上下文: 服务器配置, 虚拟主机, 目录, .htaccess
- 覆盖项: All
- 状态: 核心
- 模块: core
- <IfDefine测试>;...</IfDefine>;配置段用于标识附加施用条件的指令。<IfDefine>;配置段中的指令仅当测试结果为真时才进行处理。如果测试失败。此配置段中的指令将会被忽略。
- <IfDefine>;配置段中的测试可以为以下两种形式之一:
- 参数名
- !参数名
- 在第一种情况下,仅当符合参数名的参数已经定义的情况下才对开始和结束标记之间的指令进行处理。第二种情况则截然相反。仅当参数名没有定义的情况下才进行指令的处理。
- 参数名变量是在服务启动时,通过httpd命令行的-D参数-这样的形式指定的。
- <IfDefine>;配置段是可以嵌套的,从而可以实现简单的多参数测试。比如说:
- $ httpd -DReverseProxy ...
- # httpd.conf
- <IfDefine ReverseProxy>;
- LoadModule rewrite_module modules/mod_rewrite.so
- LoadModule proxy_module modules/libproxy.so
- </IfDefine>;
复制代码
PHP超级配置模块如下所示↓
__________________↓↓
_________________↓↓↓
________________↓↓↓↓
_______________↓↓↓↓↓
______________↓↓↓↓↓↓
_______________↓↓↓↓↓
________________↓↓↓↓
_________________↓↓↓
__________________↓↓
PHP超级配置模块如下所示↓
因为本人为中国Unix技术社区WEB服务器版版主,本文张率先在WEB服务器版发布,所以配置内容将连接到原文,以免被多次加入精华
http://bbs.chinaunix.net/forum/13/20040529/336051.html |
|