需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此扩展库。
phpize给PHP动态添加扩展
使用php的常见问题是编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,这里就需要用到phpize了。
如我想增加bcmath扩展的支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)
注意,有些扩展需要和php的版本保持一致才可以的.
解压bcmath包,进入里面的ext/bcmath目录,然后执行/usr/local/php/bin/phpize,phpize在php安装完以后会有这个命令的, 会发现当前目录下多了一些configure文件,然后再执行./configure命令即可.
#/usr/local/php/bin/phpize #./configure --with-php-config=/usr/local/php/bin/php-config
注意要先确保/usr/local/php/bin/php-config存在。 (如果你的php安装路径不是默认的,请修改为php安装的路径)
如果没有报错,则make,再make install ,然后它告诉你一个目录.
#make #make install
你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,
修改php.ini,在最后添加一句
extension=bcmath.so
重启WEB服务,再执行phpinfo(),惊喜发现:
互此bcmath扩展已经安装成功!
另附:
/home/vsrank/php/bin/phpize即执行phpize工具,执行后,可以看到目录下生成了对应的configure文件:
./configure --enable-sockets --with-php-config=/home/vsrank/php/bin/php-config make make install执行之后,可以看到下面的输出:
Installing shared extensions: /home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/ Installing header files: /home/vsrank/php/include/php/第一个就是扩展模块的生成目录,可以在对应目录下看到对应的sockets.so文件。
extension="/home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/sockets.so"可以看到和上面的输出是一致的。