我们在使用php时经常碰到这样的问题:编译安装好的PHP有时候对一些程序不支持了,提示缺少组件,这时候我们往往会想到重新编译,但这样做费时费力,网上搜到有phpize这个工具可以完美解决这个问题。今天我就碰到缺少calendar的问题,解决过程如下:
首先你要有与现有php完全相同的php压缩包。我用的是php-5.3.27.tar.gz。
1 |
tar -zxvf php-5.3.27.tar.gz |
解压后进入php-5.3.27/ext/calendar目录,然后执行:
1 |
/usr/local/php/bin/phpize |
这是一个可执行的文本文件,要确保它在系统中,这时你会发现当前目录下多了一些configure文件,如果没报错,则执行:
1 |
./configure --with-php-config=/usr/local/php/bin/php-config --enable-calendar |
注意要先确保/usr/local/php/bin/php-config存在。如果你的php安装路径不是默认的,也要修改一下。如果没有报错,再make,然后make install ,最好它告诉你一个目录,你把该目录下的calendar.so拷贝到你php.ini中的extension_dir指向的目录中,或者直接在extension= 后加上完整路径。
1 |
extension=calendar.so, |
我是直接加完整路径,
1 |
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/calendar.so |
最后,重启php-fpm和nginx,如果是apache 则重启apache即可。通过phpinfo看到以下信息则表示成功
原文链接:Linux下使用phpize动态添加扩展,转载请注明来源!