php源码目录:/root/php

php编译目录:/usr/local/webserver/php/

curl源码目录:/root/curl

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

2.安装过程:

(1)curl下载:http://curl.haxx.se/download.html
(2)具体安装过程:
  • 解压:tar -zxvf curl.tar.gz
  • cd  /(php源码目录,不是php编译目录)/ext/curl
  • 运行phpize: /(php编译目录)/bin/phpize
  • ./configure --with-php-config=/(php编译目录)/bin/php-config  --with-curl=/(curl源码目录)
  • make && make install
  • 修改php.ini,增加:extension=curl.so(如果没有安装过其他php扩展,则需要同时配置extension_dir="/(php编译后目录)/lib/php/extensions/no-debug-non-zts-20121212/",上一个步骤生成.so文件的时候,会输出extension_dir目录)
(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编译后目录/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(启动)

最新文章

  1. Atitit.css 规范 bem  项目中 CSS 的组织和管理
  2. (三)Maven仓库介绍与本地仓库配置
  3. javascript onblur事件阻塞选中input框
  4. IOCP和WSA异步协同客户端版
  5. 【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数据进行修补
  6. 【转】PFILE和SPFILE介绍
  7. Swift - 13 - 字符串和Character
  8. Flex布局摆脱float带来的布局问题
  9. nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )
  10. pwn学习之三
  11. Python 函数的描述
  12. MySqlBulkLoader设置Columns时要注意的地方
  13. CSS解决文字超出显示省略号问题
  14. SourceInsight快捷键
  15. java 定时任务之一 @Scheduled注解(第一种方法)
  16. 【Linux】Cent OS 虚拟机开机自启动配置
  17. Flask web开发之路三
  18. VR外包公司—2016中国VR开发者论坛第一期
  19. 让HTMLrunner 报告的子列表都 默认展示出来的 方法(方便发送邮件时可以方便查看)
  20. (iOS)判断GPS坐标是否在中国

热门文章

  1. 5分钟把任意网站变成桌面软件--windows版
  2. pip install在Windows下报错解决
  3. Struts 2 标签库及使用
  4. Java Enum解析【转】
  5. 工厂模式Java
  6. java中的左右移
  7. 一个简单的div弹出层的小例子
  8. js_3_for_if_try
  9. greedy算法(python版)
  10. JavaScript Hoisting