php 和 apapche 类似,核心文件为 /usr/local/php/bin/php ,针对 apache 的是 /usr/local/apache2/modules/libphp5.so 模块。这两个文件是核心,在编译 php 的时候会提前让它支持一些功能,比如支持 mysql,这个功能其实是 php 的一个模块,只不过这个模块是直接和 php 或者 libphp5.so 文件编译在一起的。当我们编译完成 php 后,发现还需要让 php 支持另外的模块,这时候可以重新编译 php ,加上配置参数,或者直接编译出一个独立的模块文件。然后让 php去调用它。下面以编译 memcache 为例;
1.下载 memcache 源码包
|
|
- 安装
|
|
说明:这一步是借助 php 的 phpize 工具生成 configure 文件。在这一步可能会遇到一些错误,不如 “Cannot find config.m4”,这是因为系统还没有安装 m4 工具,使用 yum 安装
|
|
还有错误“Cannot find autoconf” ,解决办法是
|
|
说明:当 make install 后会生成一个 memcache.so 的模块文件,该文件在 php 的 extension_dir 下。查看 php extension_dir 的方法是
|
|
修改 extension_dir 的方法是,编辑 php.ini 文件
|
|
修改为(一般情况不做修改)
然后继续在 php.ini 中添加
|
|
还有就是重新动态编译 php 自带模块
首先找到 php 的源码包
|
|
很多模块的源码都是 /ext 目录下
|
|
现在编译一下 curl 模块
|
|
进入 curl 目录
|
|
|
|
上面这步是为了生成 configure 文件,没有这个文件是没办法编译的
编译
|
|
安装
|
|
编译安装完成,最后一排会有模块目录
加载模块
编辑 php.ini
|
|
增加内容
|
|
查看是否加载成功