linux下用phpize给PHP动态添加扩展

时间:2022-10-23 08:21:43

phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定 ,所以安装 php-devel 相关套件就会有 phpize 可以使用 (档案预设存放于 /usr/bin/phpize ) 


phpize 命令是用来准备 PHP 外挂模块的编译环境的。下面例子中,外挂模块的源程序位于  extname 目录中  :


$ cd extname

$ phpize

$ ./configure

$ make

$ make install


成功的安装将建立 extname.so 并放置于 PHP 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ 内) 。 

需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。 


如在执行  ./configure 时出现  not find �Cwith-php-config 时, 

可重下以下指令,因 �Cwith-php-config 预设在 /usr/bin/php-config 可找到 

./configure �Cwith-php-config=/usr/bin/php-config 


需要调整 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




互此bcmath扩展已经安装成功!




Linux下利用phpize安装php扩展