文档章节

php 添加扩展库

card123
 card123
发布于 2015/11/23 17:32
字数 489
阅读 49
收藏 2

以php curl 扩展库编译为例。

本次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响。

假如原先编译的php目录在/usr/local/php4目录下;apache在/usr/local/apache2目录下;php源代码在/home/php-4.4.7目录下。如果实际目录与假定的目录不一致,则在下面的命令中做调整。

1. 找到当前运行的php版本的源代码目录,如 php-4.4.7。进入curl扩展库目录。
$cd /home/php-4.4.7/ext/curl

2. 调用phpize程序生成编译配置文件。
$/usr/local/php4/bin/phpize

3. 编译扩展库,分别执行下面的configure和make命令。
$./configure –with-php-config=/usr/local/php4/bin/php-config

##configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make

##make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
    如 /home/php-4.4.7/ext/curl/modules/curl.so

4. 配置php.ini文件
##将编译好的扩展库文件复制到apache2 modules目录下。
$cp /home/php-4.4.7/ext/curl/modules/curl.so /usr/local/apache2/modules/.

##可以通过查看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扩展库。


© 著作权归作者所有

共有 人打赏支持
card123
粉丝 0
博文 15
码字总数 3390
作品 0
朝阳
程序员
私信 提问
通过phpize添加PHP扩展openssl、mysql

phpize phpize 命令是用来准备 PHP 扩展库的编译环境的。下面例子中,扩展库的源程序位于 extname 目录中: 成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中。需要调整 php.ini,加...

netmouse
2014/11/14
0
0
Debian5 安装mongodb 以及php的mongodb扩展

debian5 安装mongodb已经相关的php扩展 1 安装编译环境 apt-get install build-essential 2 安装相关头文件 apt-get install libc6-dev 3 在使用php时会发现在当初编译时没有把某个模块编译进...

China_OS
2012/05/28
0
0
使用C/C++编写PHP Extension

和Python,JavaScript等高级语言一样,PHP也可以通过C/C++编写扩展功能。这里分享下如何构建一个简单的PHP扩展,以及如何调用第三方DLL库。 参考原文:Making PHP Barcode Extension with D...

yushulx
2015/06/16
0
0
php不重新编译添加模块 php不重新编译添加模块

php如何使用第三方软件 本例是: php(mysql_connect()函数)使用mysql(第三方软件). 观察上图,php能使用大量的第三方非php库(典型性是C语言写库), 为了达到此目的,你必须具备两个条件: Shell代...

jims
2015/08/16
0
0
PHP7新建扩展

1、你已经配置过PHP7的开发环境。 1.1 检查centos安装源 yum list installed | grep php 有则删除旧的: yum remove php* 1.2 添加新的安装源 # CentOS 5.Xrpm -Uvh http://mirror.webtatic....

dingdayu
2016/03/27
119
0

没有更多内容

加载失败,请刷新页面

加载更多

Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
4
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
8
0
EOS错误代码及中文释义

本文集汇总了EOS区块链常见错误代码及其含义,完整错误代码集请查看 EOS错误代码集 - 汇智网 EOS错误代码列表如下, <table class="table table-striped"> <thead> <tr><th>错误代码</th><t......

汇智网教程
昨天
4
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
4
0
kiss原则

KISS 原则是用户体验的高层境界,简单地理解这句话,就是要把一个产品做得连白痴都会用,因而也被称为“懒人原则”。换句话说来,”简单就是美“。KISS 原则源于 David Mamet(大卫马梅)的电...

NB-One
昨天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部