添加php扩展 此博文包含图片(2014-04-24 16:22:49)
来源:互联网 发布:招聘软件排名 编辑:程序博客网 时间:2024/06/05 15:01
添加php扩展
(2014-04-24 16:22:49)转载▼
如何添加php extension:(背景:php安装时没有加curl支持)
如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。下面以安装curl扩展为例:
1、下载curl安装包。(我的php是4.4.4的,下载最新的curl7.16 不能使用,最后下载7.14的才可以,所以要注意一下版本问题)
./configure
make
php要求curl的目录要有include和lib目录,并且include下要有easy.h 和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目录下,所以要copy到lib目录
2、进入安装原php的源码目录,
cdext
cdcurl
自己路径的phpize
./configure--with-curl=DIR
make
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
3、复制curl.so文件到extensions的配置目录,修改php.ini就好了
php 怎么从当前目录dl一个so ?
php -d extension_dir=. -d enable_dl='on' xxx.php
==========>
(
这里编译安装了curl
./configure --with-php-config=/usr/local/php/bin/php-config
)
(
参考: http://www.cnblogs.com/jinrize/archive/2009/10/26/1590205.html
http://www.itokit.com/2012/0609/74358.html
)
linux 中 php如何安装扩展
如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。下面以安装curl扩展为例:
1、下载curl安装包。(我的php是4.4.4的,下载最新的curl
./configure
make
php
2、进入安装原php的源码目录,
cd
cd
自己路径的phpize
./configure
make
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
3、复制curl.so文件到extensions的配置目录,修改php.ini就好了
假如原先编译的php目录在/usr/local/php5目录下;
apache在/usr/local/apache2目录下;
php源代码在/home/kevin125/src目录下。
如果实际目录与假定的目录不一致,则在下面的命令中做调整。
1. 找到当前运行的php版本的源代码目录,如 php-5.2.10。
进入curl扩展库目录。
$cd /home/kevin125/src/php-5.2.10/ext/curl
2. 调用phpize程序生成编译配置文件。
$/usr/local/php5/bin/phpize
3. 编译扩展库,分别执行下面的configure和make命令。
$./configure –with-php-config=/usr/local/php5/bin/php-config
configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make
make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,如 /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so
4. 配置php.ini文件
将编译好的扩展库文件复制到apache2 modules目录下。
$cp /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so /usr/local/apache2/modules/
找到php.ini文件所在目录位置,然后编辑。可以通过查看phpinfo信息来确定php.ini文件位置。
在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下
extension_dir = “/usr/local/apache2/modules/”
在php.ini的设置扩展库位置,设置要添加的扩展库。
extension=curl.so
以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,
然后再在这个位置,另取一行将编译后的扩展库文件名加上即可
5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。
添加其他模块类似。
apache在/usr/local/apache2目录下;
php源代码在/home/kevin125/src目录下。
如果实际目录与假定的目录不一致,则在下面的命令中做调整。
1. 找到当前运行的php版本的源代码目录,如 php-5.2.10。
进入curl扩展库目录。
$cd /home/kevin125/src/php-5.2.10/ext/curl
2. 调用phpize程序生成编译配置文件。
$/usr/local/php5/bin/phpize
3. 编译扩展库,分别执行下面的configure和make命令。
$./configure –with-php-config=/usr/local/php5/bin/php-config
configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make
make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,如 /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so
4. 配置php.ini文件
将编译好的扩展库文件复制到apache2 modules目录下。
$cp /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so /usr/local/apache2/modules/
找到php.ini文件所在目录位置,然后编辑。可以通过查看phpinfo信息来确定php.ini文件位置。
在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下
extension_dir = “/usr/local/apache2/modules/”
在php.ini的设置扩展库位置,设置要添加的扩展库。
extension=curl.so
以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,
然后再在这个位置,另取一行将编译后的扩展库文件名加上即可
5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。
添加其他模块类似。
==========>
php.ini 在安装目录不存在, 从源目录中拷贝php.ini-recommended这一类似的文件到指定文件路径即可,php.ini的指定路径可通过apache访问phpinfo.php查看到。
由于版本更新
php.ini-production 对应于 php.ini-recommended
php.ini-development 对应于 php.ini-dist
(tip)
0 0
- 添加php扩展 此博文包含图片(2014-04-24 16:22:49)
- HttpWatch中的ERROR_INTERNET_INVALID_URL错误 [此博文包含图片]
- Vim中的代码补全 此博文包含图片
- TortoiseSVN日常使用指南 此博文包含图片
- dede会员修改批量上传 此博文包含图片
- Linux下Perl的安装 此博文包含图片
- 回声消除原理 此博文包含图片
- iO7以上CIFilter生成二维码(备忘) 此博文包含图片(2015-04-24 14:48:25)转载
- 转---推荐系统(资料大全) 此博文包含图片(2014-04-11 09:14:00)
- ImageJ-计算创面面积 此博文包含图片(2014-01-28 15:59:14)
- IOS】自定义UIAlertView样式,实现可替换背景和按钮 此博文包含图片此博文包含视频(2012-10-24 10:23:25)
- X-code利用cocapods给工程中添加第三方的详细步骤 此博文包含图片(2015-12-23 21:48:57)
- 使用LaTex为IEEEtran文件插入图片 此博文包含图片
- EL表达式中empty的用法 此博文包含图片(2012-02-24 17:24:00)
- C4.5决策树 此博文包含图片(2011-10-20 23:22:19)转载▼ 标签: 分类树
- 虚拟机出现Transport(VMDB)error -44:Message错误 此博文包含图片(2015-11-18 22:27:07)
- [js]整合google,51ditu和mapbar的地图API [此博文包含图片]
- [QT4]No valid Qt version set. Set one in Tools/Options [此博文包含图片]
- PTAM算法流程介绍
- Cantor的数表,注意一些题中数学的应用
- 正则表达式常用元字符
- IOS开发系列--IOS程序开发概览(翻译自Kenshin Cui's Blog)
- Codeforces 558E A Simple Task(线段树区间更新)
- 添加php扩展 此博文包含图片(2014-04-24 16:22:49)
- redis时间事件
- eclipse Package Explorer视图设置过滤功能
- iOS中 imageNamed方法 很多图片占用大量内存问题
- 【直播预告】7月18日3D游戏引擎免费公开课答疑,参与送C币!
- Vimdiff的用法
- YT05-动态归划求解课后题目-1004—Max Sum -(6.21日-烟台大学ACM预备队解题报告)
- Java泛型,结合JSONObject动态生成指定的对象
- 获取字符串中最长的对称的字串的大小