用pecl/pear独立编译PHP扩展 vs. 把扩展编译到PHP内核中
2016-10-24 16:21
363 查看
将扩展编译到php内部的方式会提高php运行扩展的效率,但是每次需要新添加扩展时都需要把php以及之前添加的所有扩展重新编译一边,非常麻烦。
独立编译扩展,php外部调用扩展的方式虽然会牺牲一点点的性能,但是却提供了灵活性
用pecl安装
# cd /usr/local/php/bin
1.先查看pear配置中是否已经设置了php.ini的路径
# ./pear config-show
2.如果没有设置:
# ./pear config-set php_ini /usr/local/php/lib/php.ini
3.安装扩展,此处以xdebug为例:
# ./pecl install xdebug
如果不出问题,pecl会自动完成下载,编译(phpize),以及安装。最后生成extname.so文件,保存扩展的位置,位置path会在输出信息中给出,php.ini中也会自动配置好加载项(php-config)
---------------------------------------------------------------------------------
如果因为有些原因,不使用pecl方式安装的话,可以使用phpize来进行动态编译安装。
一般扩展在php源码包下的ext文件夹下
独立编译扩展,php外部调用扩展的方式虽然会牺牲一点点的性能,但是却提供了灵活性
用pecl安装
# cd /usr/local/php/bin
1.先查看pear配置中是否已经设置了php.ini的路径
# ./pear config-show
2.如果没有设置:
# ./pear config-set php_ini /usr/local/php/lib/php.ini
3.安装扩展,此处以xdebug为例:
# ./pecl install xdebug
如果不出问题,pecl会自动完成下载,编译(phpize),以及安装。最后生成extname.so文件,保存扩展的位置,位置path会在输出信息中给出,php.ini中也会自动配置好加载项(php-config)
---------------------------------------------------------------------------------
如果因为有些原因,不使用pecl方式安装的话,可以使用phpize来进行动态编译安装。
一般扩展在php源码包下的ext文件夹下
$ cd extname $ phpize $ ./configure --with-php-config=PATH (PATH指向的是php/bin目录下的php-config) $ make # make install
相关文章推荐
- VS2012 编译 PHP C++ 扩展奇遇
- 不重新编译PHP的情况下独立添加扩展
- [php内核bug]动态链接方式编译的扩展, 扩展全局空间dtor导致core dump
- PHP独立编译安装扩展(mysqli,pdo-mysql)
- Centos6.5 PHP7 Mysql5.7 独立编译添加PHP扩展pdo_mysql支持
- PHP: 用 phpize 编译共享 PECL 扩展库 - Manual
- linux下为已经编译好的php环境添加新的扩展
- Linux下独立添加PHP扩展模块mbstring
- PHP扩展模块Pecl、Pear以及Perl的区别
- Linux下独立添加PHP扩展模块 mssql
- 深入php内核五(开始创建扩展)
- 深入php内核六(使用扩展)
- php的内核扩展怎么写?
- windows下开发并编译PHP扩展的方法
- 中国银联php扩展编译方法
- 用VS编译出可独立运行的程序
- 用apache的动态so模式编写和编译php扩展
- [研究] 深入PHP内核之ZendAPI扩展篇
- 不重新编译php添加扩展模块
- win下php扩展vc6编译