apache的bin目录下的apxs有什么作用? PHP模块加载运行方式

一个perl脚本
安装http server扩展模块用的
apxs - APache eXtenSion tool

–with-apxs2=/usr/local/apache/bin/apxs

整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块

-with-apxs2的作用是

与 apache的工具apxs配合,产生模块文件到目录/usr/local/apache/modules/,同时也会

自动在apache的配置文件中写入一行"LoadModule php5_module modules/libphp5.so";
接着需要把php与apache整合在一起,这个过程很简单,由于在安装php时已经完成了模块的加载,接下来只要在apache的配置文件 httpd.conf加上"AddType application/x-httpd-php .php"一行就行了(注:.php前面有空格)

  1. 模块加载运行方式
    以模块加载的方式运行,其实就是将PHP集成到web服务器,把PHP模块化到Apache里,以同一个进程运行。思此运行模式在使用apache服务器经常使用,通过加载模块(linux SO,window DLL)中,PHP是与Web服务器(Apache)一起启动并运行的,是apache在CGI的基础上进行的一种扩展,加快PHP的运行效率。

以linux为例编译PHP,在./configure步骤需要指定–with-apxs2=/path/to/apache/bin/apxs表示告诉编译器通过Apache的mod_php5/apxs来提供对PHP5的解析。

在make install的时候我们会看到将动态链接库libphp5.so(Apache模块)拷贝到apache2的安装目录的modules目录下(编译Apache 时要带–enable-modules=so,不实际编译模块但允许加载模块),然后在httpd.conf配置文件中添加LoadModule语句来动态将libphp5.so 模块加载进来,从而实现Apache对php的支持。

LoadModule php5_module /path/to/module/modules/libphp5.so//windows下载PHP一般为php5apache2_2.dll PHPinidir “/path/to/php.ini”
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php

PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueyecheshou1980

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值