Centos7 php7 curl的添加

        趁着自己年龄还满足阿里云的学生计划,所以,一狠心买了几年的阿里云服务器,自然避免不了搭建一个可以被其他客户端访问的服务器环境。

        安装lamp环境后,上传了一个git下的网页试试水,结果发现浏览器提示:“程序运行失败:请启用curl模块”
Centos7 php7 curl的添加
我lamp没有采用yum源,或者是一键安装法,而是下载了源码,编译安装,避免不了出一些问题,网上搜索了很多方法,大都表述的比较模糊。

背景

lamp环境安装

lamp 环境安装参照阿里云帮助文档:阿里云lamp环境搭建
至于版本的问题,下载包时,自己选择更新的包就好。

上传测试网页

git下开源的一款音乐搜索神器,需要运行在服务器上,使用php编写。
出处:音乐搜索神器




上面两个步骤做完,自己的服务器并不能运行上传的网页。

解决方法

安装curl

1. rpm查看原本安装的curl:rpm -qa | grep curl
Centos7 php7 curl的添加
2. yum查看安装的curl:yum list installed | grep curl
Centos7 php7 curl的添加
嗯,两个查找的curl信息一模一样,安装时间也是老早。这时使用curl来解析一个网页,发现也能解析,也就是说阿里云默认安装了,命令可以正常使用,但是没有与自己安装的php进行关联。

前两个步骤基本没用。自己可以忽略。

3. 下载curl
下载地址:curl下载目录
自己选择需要下载的版本。
使用命令:wget https://curl.haxx.se/download/curl-7.64.0.tar.gz即下载到当前目录
这里我下载到了 /usr/local/src/ 目录,

4. 解压curl
如果下载格式是tar.gz或者tar.bz2,使用命令:tar -zxf curl-7.64.0.tar.gz
下载格式是zip结尾,使用命令:unzip curl-7.64.0.zip

5. 配置curl
前提:一定要安装好php,并且知道php安装目录,配置时需要php-config
进入curl目录:cd /usr/local/src/curl-7.64.0
配置:./configure --prefix=/usr/local/curl --with-php-config=/usr/local/php/bin/php-config

6. 编译
配置完后,大概出现这个。
Centos7 php7 curl的添加
执行编译:make
编译完后只要没有error,基本就没有问题
编译完后如下:
Centos7 php7 curl的添加
6. 安装
执行命令:make install
安装完如下:
Centos7 php7 curl的添加
确保不要出现
error

7. 添加环境变量
命令:export PATH=$PATH:/usr/local/curl/bin
打开 vim /etc/profile 添加以下内容:export PATH=$PATH:/usr/local/curl/bin

做完这些步骤,只是将curl给安装起了(至于为什么不使用阿里云默认的,我搞不懂他默认),还没有将php与curl关联。

php 关联 curl

1. 进入解压后的php源码目录中的curl目录中:
命令:cd /usr/local/src/php-7.2.16/ext/curl

2. 执行phpize命令,生成可以配置文件
因为当前php源码目录下curl目录中.m4文件,执行phpize后生成系列配置文件,这个地方记得貌似是curl的git上有介绍,有点忘记了。
命令:/usr/local/php/bin/phpize

3. 配置php源码中curl
命令:./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php/bin/php-config

4. 编译
命令:make
5. 安装
命令:make install
安装完成后,会在php安装目录生成一个文件夹,该文件夹下有curl.so文件
我的目录是:/usr/local/php/lib/php/extensions/no-debug-zts-20170718/
6. 在php.ini配置文件中添加curl.so
打开文件:vim /etc/php.ini
添加目录和文件:
Centos7 php7 curl的添加

7. 重启apache,完成,

ok.