linux下用phpize给PHP动态添加扩展
来源:互联网 发布:asp sql防注入代码 编辑:程序博客网 时间:2024/06/04 20:15
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
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/
6.更改php.ini,增加下面的语句:
extension=
"/home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/sockets.so"
7.重启Apache,接下来就可以看看自己的socket是不是配置好了。。
原文地址:http://blog.haohtml.com/archives/6118
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- linux下用phpize给PHP动态添加扩展
- 用phpize为PHP添加动态扩展
- linux 给php添加扩展
- centos 使用phpize动态安装php扩展
- 在Linux环境下给php添加mbstring扩展
- linux下使用phpize 安装 phpredis扩展
- Linux下PHP扩展添加
- 用phpize编译动态扩展模块
- Linux下已编译PHP增加扩展so的方法,关键phpize 和config.m4
- Linux下利用phpize安装memcashe的php源码扩展包
- Linux下利用phpize安装memcashe的php源码扩展包
- Java工作需求技能
- 5、理解ros服务
- 算法--大数相乘
- 使用 libevent 和 libev 提高网络应用性能
- Sqlite 不支持的sql语句
- linux下用phpize给PHP动态添加扩展
- UITableViewCell
- Spark入门学习交流—编程模型及SparkShell实战
- docker(4):coreos+docker+rancher真厉害
- 同样的错误不能犯两次(八):恐惧心理
- c++ json封装---解析
- HDU 5660/BC 79A jrMz and angles
- 解决安装vs 后,L2TP VPN连接789错误的问题
- 几种经典的网络服务器架构模型的分析与比较