linux中国网

菜菜鸟的linux杂记

phpize简介(转)

phpize简介
一,phpize 的好处
什么时候我们要用phpize呢?我们在安装php时:
‘./configure’ ‘–prefix=/usr/local/php’ ‘–with-mysql=/usr/local/mysql’ ‘–with-zlib-dir’ ‘–with-freetype-dir=/usr’ ‘–with-jpeg-dir=/usr’ ‘–with-png-dir=/usr’ ‘–enable-gd-native-ttf’ ‘–with-gd’ ‘–enable-ftp’ ‘–with-iconv’ ‘–with-gettext’ ‘–with-curl’ ‘–enable-fastcgi’ ‘–with-openssl’
后面根的参数是我们要的模块,但是随着工作的需要,我们还要在加些模块,又不想重新编译php,这些我们就可以用phpize了。

二,安装php模块
下面我以soap安装为例子
cd /home/zhangy/php-5.2.6/ext/soap #ext目录下面放的是php的模块库
/usr/local/php/bin/phpize
#确定php-config文件在不在,调用php-config,安装后.so文件会自动放到extension_dir里面
./configure –enable-soap –with-php-config=/usr/local/php/bin/php-config
make && make install
安装完后会有这样的东西
See any operating system documentation about shared libraries for?more information, such as the ld(1) and ld.so(8) manual pages.?———————————————————————-
Build complete.?Don’t forget to run ‘make test’.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
三,查看.so文件,以及修改php.ini
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
ls -al |grep soap
-rwxr-xr-x 1 root root 763334 Feb 9 10:51 soap.so
vi /usr/local/php/lib/php.ini
在加载模块的地加上一行extension=soap.so
四,重起apache或者phpcgi或者其他

***************************************************************************************************************
phpize简介(实例应用)
4. 01.
phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定

例如你的php不支持mysql, mbstring等

实例应用:
环境php5.2.6, 不支持mysql扩展
假如php的源码包在/usr/local/src/php-5.2.6
php安装目录是/usr/local/php

# cd /usr/local/src/php-5.2.6
# cd ./ext/mysql
# /usr/local/php/bin/phpize

# ./configure –with-php-config=/usr/local/php/bin/php-config
# make
# make install
这个时候你会看到mysql.so被拷贝到某个目录, 把mysql.so拷贝到你的extension_dir指向的路径, 在php.ini里增加extension=mysql.so
重启web服务器, 看一下phpinfo, 应该支持mysql了, 完毕!

注意: 在执行/usr/local/php/bin/phpize的时候可能会提示某些错误, 例如:Cannot find autoconf, 那就根据错误提示把相关的软件安装, RHEL系列使用yum -y install autoconf就可以了
其他错误, 请留言给我!

所以安装 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 这一行之后才能使用此扩展库。

评论已关闭。