- 浏览: 46133 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
xiaopei0714:
能不能请教个问题,我若是想上传文件的时候同时把上传者的名字传过 ...
gwt 上传文件 -
福将1032:
哇 不错 GWT资料很少啊
GWT 2 Spring 3 JPA 2 Hibernate 3.5 教程(译)
在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有对这条指令的完整介绍.
<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超级配置模块--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
<IfDefine Apache=Apache>
SetEnv php_control_status Apache
<IfDefine php=php4>
SetEnv php_control_status Apache_php4
<IfDefine type=mod>
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/" #请修改为实际的路径
</IfDefine>
<IfDefine !type=mod>
SetEnv php_control_status Apache_php4_not_mod
<IfDefine type=cgi>
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/" #请修改为实际的路径
</IfDefine>
</IfDefine>
</IfDefine>
<IfDefine !php=php4>
SetEnv php_control_status Apache_not_php4
<IfDefine php=php5>
SetEnv php_control_status Apache_php5
<IfDefine type=mod>
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/" #请修改为实际的路径
</IfDefine>
<IfDefine !type=mod>
SetEnv php_control_status Apache_php5_not_mod
<IfDefine type=cgi>
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/" #请修改为实际的路径
</IfDefine>
</IfDefine>
</IfDefine>
</IfDefine>
</IfDefine>
<IfDefine !Apache=Apache>
SetEnv php_control_status not_Apache
<IfDefine Apache=Apache2>
SetEnv php_control_status Apache2
<IfDefine php=php4>
SetEnv php_control_status Apache2_php4
<IfDefine type=mod>
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/" #请修改为实际的路径
</IfDefine>
<IfDefine !type=mod>
SetEnv php_control_status Apache2_php4_not_mod
<IfDefine type=cgi>
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/" #请修改为实际的路径
</IfDefine>
</IfDefine>
</IfDefine>
<IfDefine !php=php4>
SetEnv php_control_status Apache2_not_php4
<IfDefine php=php5>
SetEnv php_control_status Apache2_php5
<IfDefine type=mod>
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/" #请修改为实际的路径
</IfDefine>
<IfDefine !type=mod>
SetEnv php_control_status Apache2_php5_not_mod
<IfDefine type=cgi>
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/" #请修改为实际的路径
</IfDefine>
</IfDefine>
</IfDefine>
</IfDefine>
</IfDefine>
</IfDefine>
#使用方法:
# 设备命令:
# 连接配置:
# 将以上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超级配置模块的定制版本.
#
发表评论
-
PHP程序调试
2011-06-28 23:31 796级别: 中级 Tyler Anderson ... -
php.ini 核心配置选项说明
2011-06-28 23:37 761该列表只包含核心的 php.ini 配置选项。扩展的配置选项在 ... -
php配置文件php.ini 中文版
2011-06-28 23:38 869;;;;;;;;;;;;;;;; 简介 ;;;;;;;;;;; ... -
php面试题
2011-06-29 09:16 743简述题(50分) 1、用PHP打印出前一天的时间格式是200 ... -
php 调用webservice
2011-07-06 11:37 723NuSoap是PHP环境下的WebService编程工具,用于 ... -
java php webservice
2011-07-06 11:42 707刚在项目中应用到了java与php通过webservice进行 ... -
php 调用 java webservice
2011-07-06 11:45 1105Java中的Webservice方法: public Str ... -
php webservice最常用的方法
2011-07-06 11:54 887文本Tag:PHP 【 ... -
PHP企业级应用之WebService
2011-07-06 11:59 824经典里的PHP气氛还是太差了,都是些简单的应用,我来段企业级应 ... -
php 上传文件转换 pdf
2011-07-16 11:36 971为了实现这个功能在网上已经找了好几天了- - 记下来备 ... -
pdflib及PHP生成pdf文件(文件内容中有中文)
2011-07-16 13:45 2075使用pdflib及PHP生成pdf文件(文件内容中有中文)的方 ... -
jquery + ajax +php 实现上传图片
2011-08-02 11:46 2309当我在这样的形式上传图片的时候 js 文件代码 funct ... -
php jquery之ajax上传文件 ajaxfileupload.js
2011-08-02 13:13 1332在用PHP上传文件时我们只能用$_FILES数组,如果我们只是 ...
相关推荐
根据提供的文件标题“PHP开发典型模块大全(修订版).pdf”以及描述中的同名信息,我们可以推断出这份文档主要涵盖了PHP开发中的各种典型模块及其应用。PHP是一种广泛使用的开源服务器端脚本语言,特别适合于Web开发并...
"PHP开发典型模块大全-02-PHP基础"这一主题涵盖了PHP开发中的核心概念和常用技术,旨在为初学者和有经验的开发者提供一个全面的PHP基础知识框架。下面将详细阐述其中包含的知识点。 1. **PHP简介**:PHP(Hypertext...
超级文章3.7全开源版 文章管理模块 卓越的积分机制 支持打赏、签到,独家支持敏感词设置精仿每日头条app,帮助自媒体运营属于自己的微信公众号新闻平台。功能列表1、独家支持敏感词设置很多域名被封都是因为有违规词...
根据给定文件的信息,我们可以详细地探讨一下ThinkPHP(以下简称TP)框架中如何配置默认控制器以及如何设置超级管理员。这两个概念对于理解TP框架的基本工作原理至关重要,并且在实际开发过程中非常实用。 ### 配置...
"PHP佳蓝超级同学录"是一个基于PHP编程语言开发的在线同学录系统,旨在帮助校友们维护联系,分享回忆,并促进彼此之间的交流。这个系统可能包含用户管理、班级管理、消息发布、相册功能以及互动模块等核心组成部分,...
然而,实际使用前,用户还需要了解PHP编程基础,以及如何配置服务器环境,如安装MySQL数据库、设置Apache或Nginx等。同时,理解并修改源代码以满足特定需求,也是使用源码建站时不可忽视的一部分。
【标题】"PHP实例开发源码—天羽超级外链工具 php版.zip" 提供的是一份基于PHP语言实现的天羽超级外链工具的源代码。这个工具可能用于帮助网站管理员管理和优化他们的外部链接策略,提升网站在搜索引擎中的排名和...
为了深入了解并使用这个模块,你需要打开这个文件查看具体内容,包括如何初始化、调用方法以及如何配置HTML数据等。 总的来说,HTML数据加载到超级列表框是一项涉及数据获取、解析、格式化和展示的技术,通过灵活...
- `PHPIniDir "D:/php"`:设置 PHP 配置文件 `php.ini` 的路径。 - `AddType application/x-httpd-php .php` 和 `AddType application/x-httpd-php .html`:指定 `.php` 和 `.html` 文件类型由 PHP 处理。 - 这些...
【标题】"价值365 discuz 超级活动插件"指的是Discuz!论坛系统的一款付费插件,这款插件通常具有丰富的功能,旨在提升论坛的互动性和活跃度,可能包括各种线上活动、竞赛或者优惠促销等功能。Discuz!是一款广泛应用...
### PHP5安装配置详解 #### 一、MySQL 5.0 for Windows 安装 **1.1 MySQL 安装概述** MySQL 5.0 for Windows 的安装过程相对简单但需注意几个要点来确保顺利安装及高效运行。推荐在独立的 NTFS 分区上进行安装以...
在PHP编程领域,模块登录是构建网站用户管理系统的关键部分。这个"PHP模块登录"源代码提供了初学者一个学习和理解用户认证系统实现的基础。在这个源码中,我们可能会看到以下几个核心知识点: 1. **基本PHP语法**:...
sellers.php用于处理商家的注册、认证及信息更新,store_street.php可能创建了一个类似实体商业街的虚拟展示环境,增强用户体验,seller_store.php则是商家自定义店铺的设置和个性化模块。 特别说明.txt文件通常会...
- **加载 PHP 模块:** 添加或取消注释 `LoadModule php5_module "C:/php5/php5apache2_2.dll"` 行。 - **设置 PHP 处理器:** 添加或取消注释 `AddType application/x-httpd-php .php` 行。 - **指定 PHP 脚本处理...
标题中的“dede 超级标签 织梦”指的是织梦内容管理系统(DedeCms)中的一个功能模块——超级标签系统。织梦CMS是一款基于PHP+MySQL开发的开源内容管理框架,广泛应用于个人网站、企业官网以及各类门户站点的建设。...
在网页开发中,留言板功能是常见且实用的交互模块,它允许用户发表评论、提出建议或者进行交流。本项目以“php+mysql简单简洁留言板”为主题,旨在实现一个功能完备且界面简洁的在线交流平台。该项目采用了流行的PHP...