1. curl下载:http://curl.haxx.se/download.html 2. wget http://curl.haxx.se/download/curl-7.32.0.tar.gz tar zxvf curl-7.32.0.tar.gz //解压文件 cd curl-7.32.0 ./configure --prefix=/usr/local/curl 3. 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目录) 4. 检验是否安装成功: /(php编译后目录)/bin/php -m | grep curl ——正常打印curl,则表示安装成功(php -m会打印出已安装的扩展模块) 踩过的坑:(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(启动) 以上是Linux centos7 php7 编译安装 php 扩展包 curl的内容,更多 编译 扩展 centos7 安装 Linux PHP7 curl php 的内容,请您使用右上方搜索功能获取相关信息。 错误 Loaded Configuration File (none) //加载模块 配置文件不生效 解决办法:strace /usr/local/php/bin/php -i 2> /tmp/1.log grep 'php.ini' /tmp/1.log open("/usr/local/php/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/local/php/lib/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) write(1, "Configuration File (php.ini) Pat"..., 33) = 33 php.ini 拷贝至/usr/local/php/bin/ 但这样以后phpinfo检测不到curl 将配置文件拷贝指定的目录正常