手动添加php,linux下PHP手动添加扩展库

1.进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:

cd curl

执行phpize生成编译文件,phpize在PHP安装目录的bin目录下

/usr/local/php/bin/phpize

运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF

environment variable is set correctly and then rerun this script.“,需要安装autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)

生成配置文件,并编译生成模块:

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

321f2502e4ae8a74cac69ca6c874615e.png

make

7509a35dde2a3b5cd51b41e3935112b3.png

make install

4428db337d67013fab767712484dc26b.png

这样,curl.so就被复制到PHP对应目录(如:/usr/local/php/lib/php/extensions/no-debug-zts-20131226)

2.修改配置

在php.ini里,设置扩展目录:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226"

并添加扩展模块引用:

extension = curl.so

3.检查并重启Apache

/usr/local/php/bin/php -v

执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查

补充:

1.需要安装自己手动编译的扩展包时在ext目录中如下指定

以下为在/ext/gd文件下安装gd库是顺便使其支持freetype

./configure --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config

2.在安装pdo_mysql扩展时

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make后出现如下错误:

7320e90e9391e63cbb0b5237e627000f.png

意思是在php_pdo_mysql_int.h的第27行包含文件时没有找到他他所需的mysqlnd.h 但实际上在ext/mysqlnd中能找到mysqlnd.h因此大致是他的包含路径有问题 ,编辑php_pdo_mysql_int.h  定位到27行改成如下(改成能直接访问到相应头文件的路径)

6ac578e6ec61f0a99710fb0d22af7db8.png

linux下Redis与phpredis扩展安装

++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

linux下查看和添加PATH环境变量

linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PA ...

GCC -l选项:手动添加链接库

链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...

gcc -l:手动添加链接库

链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件.在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...

linux下为php添加mongodb扩展

基于本博客yum安装的lamp环境,phpize 位于 /usr/bin,php-config 位于/usr/bin,php.ini 位于/etc/ 1.首先从http://pecl.php.net/ ...

linux 下安装 php kafka 扩展

我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka 下载地址:http://kafka.apache ...

Linux下C语言编程中库的使用

零.问题 1. 为什么要用到库? 2. 我要用一个库,但是,尼玛命令行上该怎么写呢?或者说库文件如何使用? 3. Linux的库在那些地方? 4. 什么是静态库,什么是动态库,二者有啥区别? 5. 常 ...

Linux下编译、使用静态库和动态库 自己测过的

每个程序实质上都会链接到一个或者多个的库.比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等.无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dyn ...

linux下编译ffmpeg 引入外部库x264

Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure ...

随机推荐

ConcurrentAsyncQueue 2014-09-07

#define NET45 namespace Test { using System; using System.Threading; using System.Threading.Tasks; u ...

UILabel实现自适应高宽

UILabel是iOS开发常用的控件.UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握.UILabel自适应高宽度是很多初学者遇到的技术性难题.比如段文字,要让他完全地分行显示 ...

Python 2.7_First_try_爬取阳光电影网_20161206

之前看过用Scrapy 框架建立项目爬取 网页解析时候用的Xpath进行解析的网页元素 这次尝试用select方法匹配元素 1.入口爬取页面 http://www.ygdy8.com/index.ht ...

python 安装与pip安装

在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言.总的来说,个人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装, ...

nyoj 对决

对决 时间限制:1000 ms  |  内存限制:65535 KB 难度:0   描述 Topcoder 招进来了 n 个新同学,Yougth计划把这个n个同学分成两组,要求每组中每个人必须跟另一组中 ...

Python的基本数据数字、字符串、布尔值及其魔法

基本数据类型介绍 若要把Pyhton的基本数据类型:数字(int).字符串(str).布尔(bool).列表(list).元组(tuple).字典(dict)都分为一个个不同的角色 如:战士,魔法师, ...

.Net QQ互联教程

qq互联只需要备案即可申请,申请成功后可以到qq互联官网查看教程,本站开始想使用js的教程但是由于本站需要绑定本站的账号用js教程无法完成,所以使用原始的oauth2.0来完成. 申请qq互联接口 q ...

小学四则运算APP 第三阶段冲刺

<?xml version="1.0" encoding="utf-8"?>

双系统linux&plus;win之血的教训

绝对不要用win的软件来直接调整linux分区!!!!! 除非你不想要这个linux分区里的数据了...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值