我爱编程

PHP安装扩展模块

2017-08-22  本文已影响0人  石乐志的LK

有时候我们需要让php支持其他的一些模块,所以需要我们可以重新编译php,编译之前加上模块的配置参数,也可以直接编译出来一个单独的模块,我倾向于后者,不要重新安装php,比较方便。

首先,明确一下这次安装的模块是Memcached模块


Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据

库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、

数据库驱动网站的速度


1. 下载memcache源码包

php的扩展模块一般都放在/usr/local/php/ext/文件夹下,但是我们安装好以后,好像都没有,所以我们首先创建文件夹

mkdir /usr/local/php/ext

cd /usr/local/php/ext

下载源码包

wget http://pecl.php.net/get/memcache-2.2.3.tgz

下面这一步的作用是借助php的phpize工具生成configure文件

/usr/local/php/bin/phpize

这一步是借助 php 的 phpize 工具生成 configure 文件。在这一步你可能会遇到一些错误,比如“Cannot find config.m4”,这是因为系统没有安装 m4 工具,使用 yum 安装 yum install -y m4。另外一个错误“Cannot find autoconf”,解决办法是, yum install -y autoconf。

2. 然后执行编译配置、编译、安装

在/usr/local/php/ext中执行

./configure && make && make install 

然后我发现,在当前目录下生成了一个目录名叫modules,里面生成了一个文件memcache.so

然后我们去看一下php的extension_dir的位置,我们就是要将模块放在这个文件夹下

查看extension_dir的位置

/usr/local/php/bin/php -i | grep extension_dir

我看到的是以下配置

extension_dir => /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226

所以我cd到相应的目录,查看了一下,里面竟然也生成了memcache.so模块,这样我们就不用移动模块了。但是要修改php.ini的配置

vim /usr/local/php/etc/php.ini

在大概889行的位置添加配置如下,但是记得要去掉前面的;注释符

extension = memcache.so

3. 测试

/usr/local/php/bin/php -m

可以看到列出的模块中有memcache模块

4. 补充

当然,我们也能更改extension_dir的目录位置

vim /usr/local/php/etc/php.ini

在大概736行的位置,设置extension_dir=.......

保存后退出即可

上一篇下一篇

猜你喜欢

热点阅读