使用phpize为php环境编译安装扩展:以mcrypt为例
无    13    0    0
libi

很多时候服务器环境已经默认装好了某个版本的php,运行了一段时间突然需要某个扩展的支持,重新整个编译php有点麻烦,而且搞错php版本还会导致已有的网站出现兼容性问题。

这种情况下可以使用php源码包中的phpize来单独编译某个.so的扩展文件,通过php.ini添加引用即可为现有的php环境添加所需扩展。

1.首先需要确认当前服务器环境php版本。在终端下执行 php -v  (如果php不在path目录下,需要进入到php程序目录)。

获取到对应的版本号以后在这里(http://php.net/releases/)找到对应的php版本源码下载地址。

比如我的是php5.4.12 ,对应的下载地址为http://museum.php.net/php5/php-5.4.12.tar.gz,进入工作目录(因为用完即删,我习惯放在tmp目录下)后

wget http://museum.php.net/php5/php-5.4.12.tar.gz

将该源码文件下载后解压。

tar xzvf php-5.4.12.tar.gz

进入扩展目录

cd php-5.4.12/ext

挑选自己需要安装的扩展进入,比如我需要安装mcrypt

cd mcrypt

然后执行phpize,部分系统(macosx)会出现Cannot find autoconf的错误,需要 下载autoconf 源码编译安装。

下载完以后执行 既可安装
 tar xzvf autoconf-2.69.tar.gz
 cd autoconf-2.69
 ./configure
 make
 sudo make install

安装成功后返回mcrypt扩展目录执行 phpize,生成.so文件。

./configure
 make
 sudo make install

执行成功会返回安装so的文件路径。

在php.ini 中添加 扩展引用extension=mcrypt.so即可


文档导航