php编译安装pecl拓展遇到的问题

来源:互联网 发布:linux socket udp监听 编辑:程序博客网 时间:2024/05/21 09:29

今天安装了一个php5.3.10,先贴一下编译配置

./configure  --prefix=/usr/local/php-5.3.10 --with-config-file-path=/usr/local/php-5.3.10/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --disable-rpath --without-pear --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir --enable-xml --enable-safe-mode --enable-mbstring --enable-gd-native-ttf --enable-ftp --enable-sockets --enable-zip --disable-debug --with-gmp --with-openssl

值得注意的是php-fpm的启动脚本,位于源码目录的/usr/local/src/php-5.3.28/sapi/fpm/init.d.php-fpm
稍加修改后放到/etc/init.d/目录,加入启动项即可。

安装pecl拓展的一般步骤

cd /extension_dirphpize./configuremake && make install 

装完后编译memcache拓展时,遇到报错

NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/dir/memcache.so' - /usr/lib64/php/modules/memcache.so: undefined symbol: zend_new_interned_string in Unknown on line 0

原因是没有指定php的配置信息,使用

phpize --with-php-config=/yourpath/php/bin/php-config 

即可,当服务器中安装了2个以上的php环境时容易发生以上错误。

mcrypt拓展编译安装

注意mcrypt pecl包在/php/src/ext/mcrypt,所以直接进入该目录使用phpize获得配置文件configure,编译后获取的mcrypt.so加入配置文件php.ini,重启php-fpm即可