Linux编译安装php扩展包curl

1.curl,主要用于发送http请求,是php的一个扩展包。

2.安装过程:

(1)curl下载:http://curl.haxx.se/download.html

(2)具体安装过程:

tar -zxvf curl-7.34.0.tar.gz

cd curl-7.34.0

cd /home/zhuyx/package/php-5.5.3/ext/curl(php源码目录,不是编译后的php目录)

/home/zhuyx/local/php-5.5.3/bin/phpize

./configure --with-php-config=/home/zhuyx/local/php-5.5.3/bin/php-config(编译后的php目录)  --with-curl=/home/zhuyx/package/curl-7.34.0(curl源码目录)

make

make install

修改php.ini,增加:extension=curl.so(如果没有安装过其他php扩展,则需要同时配置extension_dir="/php 编译后目录/lib/php/extensions/no-debug-non-zts-20121212/",上一个步骤生成.so文件的时候,会输出 相关目录)

(3)检验是否安装成功:

  • /php编译后目录/bin/php -m | grep curl ——正常打印curl,则表示安装成功(php -m会打印出已安装的扩展模块)

3.踩过的坑:

(1)直接在curl的源码目录最上层,运行phpize,提示如下错误:

Cannot find config.m4.

Make sure that you run '/home/zhuyx/local/php-5.5.3/bin/phpize' in the top level source directory of the module

原因:

  phpize扩展安装,源包需要有config.m4这个配置文件;当前扩展的源码包不包含(memcache的就包含)。

解决方法:

(1)进入php源码包的 ext/curl 下面运行phpize,再进行安装

(2)./configure --with-php-config=/php编译后目录/bin/php-config  --with-curl=curl源码目录

问题扩展:

  安装其他的php扩展的时候,遇到类似问题,都可以采取上述解决方案。

(2)关于php.ini

  楼主一开始修改的是 php编译后目录/lib/php.ini 这个文件,修改之后新增模块并不生效。后来才知道,前面这个是默认(编译时候不指定)的扩展配置目录,如果编译的时候指定了php.ini的目录,以后都需要修改指定目录下的php.ini,例如楼主的是 php编译后目录/etc/php.ini 。

(3)调用curl()的php脚本,命令行可以运行,浏览器访问提示如下错误:

  Fatal Error:Call to undefined function curl()

原因:

  楼主的服务器是nginx,安装了curl扩展后,没有重启php-fpm导致。

解决方法:

  重启php-fpm.

  ps aux | grep php-fpm (找到master进程)

  kill -SIGINT master进程

  进入php-5.5.3/sbin,执行  ./php-fpm(启动)

问题扩展:

php-fpm进程pid:php-5.5.3/var/run/php-fpm.pid(在php-5.5.3/etc/php-fpm.conf文件中配置:pid=php-5.5.3/var/run/php-fpm.pid)

lamp环境编译安装curl扩展的更多相关文章

  1. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  2. Ubuntu --- lamp环境下安装php扩展和开启apache重写

    安装教程参考:http://www.laozuo.org/8303.html 1.安装php扩展(比如安装mbstring) 先搜索相关的包 apt-cache search php7 再安装 apt ...

  3. Linux lamp环境编译安装

    1.安装准备: 1)httpd-2.0.52.tar.gz 2)mysql-4.1.12.tar.gz 3)libxml2-2.6.27.tar 4)freetype-2.1.10.tar 5)gd- ...

  4. Linux课程---14、linux下lamp环境如何安装

    Linux课程---14.linux下lamp环境如何安装 一.总结 一句话总结: 要按顺序安装,比如apache需要在php之前安装, 一.安装 gcc 编译器 二.卸载 rpm 安装的 http ...

  5. Centos7之LNMP环境编译安装

    Centos7之LNMP环境编译安装 一.系统环境准备 注:安装时间过长,只做参考!!!1.系统信息 [root@localhost ~]# uname -r 3.10.0-957.el7.x86_6 ...

  6. Linux中PHP如何安装curl扩展方法

    如果php已经在系统编译好,后来又需要添加新的扩展. 一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展. 下面以安装curl扩展为例: 1.下载curl安装 ...

  7. 【转】如何编译安装PHP扩展

    本文参考 一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装. 安装PHP扩展最简单的办法就是 sudo apt-get install php5-xxx ...

  8. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  9. windows下配置lamp环境(1)---安装Apache服务器2.2.25

    window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):

随机推荐

  1. 杂谈PID控制算法——最终篇:C语言实现51单片机中的PID算法

    真遗憾,第二篇章没能够发表到首页上去.趁热打铁.把最终篇——代码篇给发上来. 代码的设计思想请移步前两篇文章 //pid.h #ifndef __PID__ #define __PID__ /*PID ...

  2. 魅族 -- 禁止D及以下级别LOG的输出

    真机调试时:Log.d()打印不出信息,模拟器可以. 使用的手机:魅族. 状况:禁止D及以下级别LOG的输出. PS.Log.d("h_bl", "进入执行") ...

  3. STM3的Uart中断接受数据和非中断接受数据!

    //非中断方式接受数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET) //接收数据寄存器非空标志位{ str = USART_Recei ...

  4. Android Facebook和Twitter登录和分享完整版

    最近公司的软件需要改国际版,需要Facebook和Twitter的登录和分享. 本人先用Umeng的第三方社会化分享实现了该功能,但是后来一想问题来了,经过查证.Umeng只在中国和美国有服务器,那也 ...

  5. WebForm页面使用Ajax

    AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML.指一种创建交互式网页应用的网页开发技术.AJAX并非缩写词,而是由Jesse ...

  6. mysql 5.7.20解压版安装配置

    MySql 5.7.20版本免安装版配置过程   下载地址为: https://dev.mysql.com/downloads/mysql/ 最下面根据自己的操作系统选择合适的型号 下载完以后解压缩到 ...

  7. 一些WCF DS 的资料(参考)

    0.WCF DS 官方博客:http://blogs.msdn.com/b/astoriateam 1. 官方博客: 如何使用WCF DS5   由于V5 的程序集单独出来了!     (How to ...

  8. 打补丁以及WebLogic Server的版本

    12.1.2开始采用了Oracle传统的opatch打补丁的方式,但在此之前,包括 10.3.x版本以及12.1.1版本还是通过bea的smart update方式来进行. smart update基 ...

  9. Linux tftp配置

    TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现. xinetd(eXtended InterNET services daemon)是新一代的网络守护进程服务程序,又叫超级INTE ...

  10. 利用github和git命令,将本地项目共享到服务器上

    一.步骤 1. 创建项目根目录 mkdir 文件夹名 2. 初始化文件夹 git init 3. 配置用户名和邮箱(第一次配置后,不需要再登录) git config user.name 名字 git ...