安装(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么东西呢?php官方的说明:
http://php.net/manual/en/install.pecl.phpize.php
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize,通过以下几步工作。
二、如何使用phpize?
当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;
比如现在想在php中加入memcache扩展模块:我们要做的只是如下几步
————————————————————————
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure –with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
————————————————————————
注意./configure 后面可以指定的是php-config文件的路径
这样编译就完成了,还需要做的是在php.ini文件中加入extension值
extension = “memcache.so”
---------------------------------------------------------
注意:Cannot find config.m4.
这个错误是一个很傻的错误,解压以后需要cd到文件夹,不然phpize就会报错
动态编译PHP的memcache扩展库,在执行/usr/localphp/bin/phpize时出现了错误,
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.
很明显缺少文件,需要安装。网上找了下资料。
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install
然后执行以下命令进行安装
#/usr/local/php/bin/phpize
#./configure –prefix=/usr/local/memcached –with-libevent=/usr/local/libevent –with-php-config=/usr/local/php/bin/php-config
#make && make install
//-----------------------------------------------------
今天给同事安装php 5.5.11,居然报错下面的错误:configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
还以为是没有安装perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-ExtUtils-Embed这3个问题,安装了之后,重新编译还是报错,最后才在一个老外的blog上发现是要安装libicu-devel,果断安装后重新编译终于没有报错了.
安装命令:
CentOS / RedHat: yum install libicu-devel
Ubuntu/Debian: sudo apt-get install libicu-dev