原文地址:
http://doc.zenw.org/developer/ch03s05.html
phpzie
phpize 命令是用来准备 PHP 扩展库的编译环境的。
如果你的PHP不支持mysql、pdo、mbstring这样的扩展库的话,可以没有必要重新编译PHP,直接使用phpize进行添加编译就可以了
如何使用
-- 进入要安装的扩展包的源代码目录 --
(拿APC为例)
# cd /usr/local/src/APC-3.0.19
-- 运行phpzie,生成configure文件 --
# /usr/local/php/bin/phpzie
Note
如果这一步发生错误,请看这里。如果没有,请跳过:
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
通过安装 autoconf 可以解决
centos下执行 yum install autoconf即可
-- 开始编译扩展包 --
# ./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/php/bin/php-config
# make
# make install
-- 拷贝添加SO文件 --
# cp /usr/local/lib/php/extensions/no-debug-zts-20060613/apc.so /usr/local/php/lib/php/extensions/apc.so
# chmod 755 /usr/local/php/lib/php/extensions/apc.so
-- 修改PHP.INI使之启用刚才编译的模块 --
修改 php.ini下
extension_dir = "./"
extension_dir = "/usr/local/php/lib/php/extensions"
配置/etc/php.ini 末尾加入
(此步用于APC 其他扩展按具体情况而定)
extension=apc.so
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 1024
apc.write_lock = On
apc.gc_ttl=3600
apc.ttl=0
apc.mmap_file_mask=/tmp/apc.XXXXXX
重启webservice
完成
官方解释
用 phpize 编译共享 PECL 扩展库
http://docs.php.net/manual/zh/install.pecl.phpize.php 用 phpize 编译共享 PECL 扩展库
有时候不能用 pear 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有 PEAR 兼容的包,例如 CVS 中尚未发布的扩展库。如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。
phpize 命令是用来准备 PHP 扩展库的编译环境的。下面例子中,扩展库的源程序位于 extname 目录中:
$ cd extname
$ phpize
$ ./configure
$ make
# make install
成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中。需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此扩展库。
将 PECL 扩展库静态编译入 PHP
http://docs.php.net/manual/zh/install.pecl.static.php 将 PECL 扩展库静态编译入 PHP
有时可能需要将扩展库静态编译到 PHP 中。这需要将扩展库源程序放入 php-src/ext/ 目录中去并告诉 PHP 编译系统来生成其配置脚本。
$ cd /your/phpsrcdir/ext
$ pear download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname
这将产生以下目录:
/your/phpsrcdir/ext/extname
此时强制 PHP 重新生成配置脚本,然后正常编译 PHP:
$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install
Note: 要运行“buildconf”脚本,需要 autoconf 2.13 和 automake 1.4+(更新版本的 autoconf 也许能工作,但不被支持)。
是否用 --enable-extname 或 --with-extname 取决于扩展库。通常不需要外部库文件的扩展库使用 --enable。要确认的话,在 buildconf 之后运行:
$ ./configure --help | grep extname
更多内容可访问:
http://www.zenw.org
http://doc.zenw.org
http://doc.zenw.org/linux
http://doc.zenw.org/mysql
http://doc.zenw.org/developer