添加php扩展 此博文包含图片 (2014-04-24 16:22:49)
2015-07-15 16:47
323 查看
添加php扩展
(2014-04-24 16:22:49)
转载▼
==========>
(
这里编译安装了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 7.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的源码目录,
cd ext
cd curl
自己路径的phpize
./configure --with-curl=DIR
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扩展库。
添加其他模块类似。
==========>
php.ini 在安装目录不存在, 从源目录中拷贝php.ini-recommended这一类似的文件到指定文件路径即可,php.ini的指定路径可通过apache访问phpinfo.php查看到。
由于版本更新
php.ini-production 对应于 php.ini-recommended
php.ini-development 对应于 php.ini-dist
(tip)
php 怎么从当前目录dl一个so ?
php -d extension_dir=. -d enable_dl='on' xxx.php
相关文章推荐
- MySQL Study之--MySQL下图形工具的使用(phpMyAdmin)
- PHP用星号隐藏部份用户名、身份证、IP、手机号、邮箱等实例
- thinkphp最新版本上传bug与解决办法
- MySQL Study之--MySQL下图形工具的使用(phpMyAdmin)
- yii中数据模型的使用
- Yii CDBCriteria常用方法
- yii中常用路径
- yii中 columnszii.widgets.grid.CGridView
- PHP防止SQL注入文件,引入即可
- PHP成长记(三) —— SSO单点登录/登出
- 《PHP扩展开发及内核应用》
- php parallel
- 小心,apc可能导致php-fpm罢工!
- mac 下配置php环境
- webserver 两种模式
- PHP 转换的格式参数
- Atitit. 拉开拉链zip文件 最佳实践实施 java c# .net php
- php发送请求的方式
- yii框架widget和注册asset的例子
- PEAR和PECL理解笔记