phpize简介
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 –with-php-config 时,
可重下以下指令,因 –with-php-config 预设在 /usr/bin/php-config 可找到
./configure –with-php-config=/usr/bin/php-config
下面我通过安装socket扩展来介绍phpize的使用:
1.找到自己的php安装目录,例如我的目录是home/vsrank/php,在该目录下,找到bin/phpize。如果没有这个工具,则说明没有安装该工具,那么需要安装php.dev,一般都会有这个工具。
2.要扩展的话,就需要有一个和当前已安装的php的版本一样的php的源包,当前php版本可以用过phpinfo()查看。就是初次安装后查看安装是否成功的那个test.php。
3.打开源包目录,进入到ext目录,例如我就进入到:/home/vsrank/php-5.3.10/ext下,ext下有各个php带有的扩展模块,进入到ext/sockets中。
4.cd到ext/sockets后,执行下面的命令:
5.现在就可以通过configure来配置,执行下面的命令:
6.更改php.ini,增加下面的语句:
7.重启Apache,接下来就可以看看自己的socket是不是配置好了。。
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 –with-php-config 时,
可重下以下指令,因 –with-php-config 预设在 /usr/bin/php-config 可找到
./configure –with-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
重启WEB服务,再执行phpinfo(),惊喜发现:
到此bcmath扩展已经安装成功!
另附:
Linux下利用phpize安装php扩展
php有很多扩展功能,我们在初次安装的时候并没有安装某些扩展,可能在使用的过程中,又需要用到这些扩展。php提供了一个phpize工具供我们安装需要的扩展。下面我通过安装socket扩展来介绍phpize的使用:
1.找到自己的php安装目录,例如我的目录是home/vsrank/php,在该目录下,找到bin/phpize。如果没有这个工具,则说明没有安装该工具,那么需要安装php.dev,一般都会有这个工具。
2.要扩展的话,就需要有一个和当前已安装的php的版本一样的php的源包,当前php版本可以用过phpinfo()查看。就是初次安装后查看安装是否成功的那个test.php。
3.打开源包目录,进入到ext目录,例如我就进入到:/home/vsrank/php-5.3.10/ext下,ext下有各个php带有的扩展模块,进入到ext/sockets中。
4.cd到ext/sockets后,执行下面的命令:
/home/vsrank/php/bin/phpize
即执行phpize工具,执行后,可以看到目录下生成了对应的configure文件:
5.现在就可以通过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文件。
6.更改php.ini,增加下面的语句:
extension="/home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/sockets.so"
可以看到和上面的输出是一致的。
7.重启Apache,接下来就可以看看自己的socket是不是配置好了。。
来源:oschina
链接:https://my.oschina.net/u/778827/blog/158684