您的位置:首页 > 编程语言 > PHP开发

添加php扩展 此博文包含图片 (2014-04-24 16:22:49)

2015-07-15 16:47 323 查看


添加php扩展



(2014-04-24 16:22:49)


转载▼

如何添加php extension:(背景:php安装时没有加curl支持)

==========>
(
这里编译安装了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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: