apache2 php 配置,Apache2 中 php 两种设置的异同说明

Apache2开始引入了Hook方式,对应的在PHP中也提供了apache2handler这种sapi。和我之前介绍过的PHP lifecycle不同,这种情况下的PHP,通过注册handler钩子,从而可以在handler hook阶段有机会处理请求,通过判断请求的handler,来确定是否需要处理,如果需要就会调用自身的处理器。

那么,这种情况下也就有了多种配置方法,主要考虑如下俩种方式(第二种可以有多种变种):

第一种:AddType application/x-httpd-php .php

第二种:

SetHandler application/x-httpd-php

首先来说,这俩中方式的起作用的时刻不同,对于第一种方式来说,他是在type_check钩子阶段起作用的,也就是在apache2src/modules/http/mod_mime.c中,通过注册type_checker钩子,加入find_ct(content_type),在find_ct中,通过配置文件中的mime映射,或者是通过addType指令增加的映射,根据文件的扩展来填充请求中的handler字段:

而对于第二种方式,是在fixup钩子阶段,通过注册fixups钩子阶段加入core_override_type(apache2src/server/core.c)函数,来将目录级的配置指令生效。

而fixups钩子是晚于type_checker钩子的,也是handler钩子之前最后的一个可以利用的钩子. 所以如果同时采用1,2俩种方式,那么第二种方式会覆盖第一种方式设置的handler。

其次,俩种方式依赖的数据结构不同,第一种方式依赖的是一个全局的mime对照表extension_mappings,这个表由mime配置文件和AddType指令而来。

而对于第二种方式,它是根据配置文件构造的dir_config而来:core_dir_config *conf =

(core_dir_config *)ap_get_module_config(r->per_dir_config,

&core_module);

/* Check for overrides with ForceType / SetHandler

*/

if (conf->mime_type && strcmp(conf->mime_type,"none"))

ap_set_content_type(r,(char*) conf->mime_type);

if (conf->handler && strcmp(conf->handler,"none"))

r->handler = conf->handler;

软件大小:12.20MB

软件类别:国外软件 | web服务器

软件语言:英文

运行环境:2000/XP/2003/Vista/Win7

软件授权:免费版

更新时间:2012-1-31 11:44:16

Apache的安装与配置 打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.20-win32-x86-no_ssl.msi安装文件。其,同一版本有两种类型:no_ssl和openssl,openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了。一般情况下,我们下载no_ssl版本的就ok了。 下载好apache安装文件后,点击安装,在连续3次next后,将进入server information配置界面,要求输入network domain、server domain和网站管理员的邮箱地址,普通用户可以随便按照格式填一下就行了。再次按Next后,出现选择安装路径的界面,默认的路径比较长,pharmar把安装路径修改为:“D:\Program Files\Apache\”,继续安装,直到完成。 安装完毕,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入:http://localhost/或http://127.0.0.1/,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标。 apache还有一个配置文件:httpd:conf 需要配置,以便php运行。位置为:D:\Program Files\Apache\conf目录里。打开httpd:conf: 1)、查找“DocumentRoot”,这里是指定主页放置的目录。默认是:“D:\Program Files\Apache\htdocs”,你可以使用默认的目录,也可以自己定义一个,如:“D:/PHP”。注意:目录末尾不要加“/”。 2)、查找“DirectoryIndex”,这里是默认首页文件名,可以在index.html 的后面加入index.php等。每种类型之间都要留一个空格。 3)、查找 ...........................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值