首先,我们的CentOS版本信息如下:

开始我们的编译。

第一步:

将php安装包安装到/usr/src目录下。

  1. cd /usr/src && wget http://cn2.php.net/distributions/php-7.2.3.tar.gz

第二步:

加压这个压缩包

  1. tar -xzxvf php-7.2..tar.gz

第三步:

进入压缩后的文件目录。安装如下文件,如果已经安装也没问题,系统会提示已经安装,nothing to do。

  1. cd php-7.2./
    yum install gcc
    yum install libxml2-devel
    yum install libxml2-devel

第四步:

执行以下命令(编译的配置参数)

  1. './configure' '--prefix=/usr/local/php' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring' '--with-libxml-dir=/usr' '--enable-soap' '--enable-calendar' '--with-curl' '--with-mcrypt' '--with-gd' '--with-pgsql' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-zlib' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-pcntl' '--enable-mbregex' '--enable-exif' '--enable-bcmath' '--with-mhash' '--enable-zip' '--with-pcre-regex' '--with-pdo-mysql' '--with-mysqli' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-openssl' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--with-libdir=/lib/x86_64-linux-gnu/' '--enable-ftp' '--with-gettext' '--with-xmlrpc' '--with-xsl' '--enable-opcache' '--enable-fpm' '--with-iconv' '--with-xpm-dir=/usr'

最后一行会出现错误提示:configure: error: Cannot find OpenSSL's <evp.h>

未发现openssl,我们安装就好。

  1. yum install openssl openssl-devel

出现Complete!则表示安装完成

继续以上命令出现错误提示: configure: error: Please reinstall the BZip2 distribution

安装即可

  1. yum install bzip2-devel.x86_64 -y

仔细看还有错误:configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).

安装即可

  1. wget http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
  2. tar -zxvf bison-2.4..tar.gz
  3. cd bison-2.4./
  4. ./configure

提示错误:configure: error: GNU M4 1.4 is required

未安装m4

  1. yum install m4

再重新编译上面的make clean && make install

安装完成后切入php目录

继续配置checking发现错误:configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf

这个是由于php7.2是 17年11月份发行的,在php7.1时,
官方就开始建议用openssl_*系列函数代替Mcrypt_*系列的函数。

所以我们删除这两项即可。

然后继续发现错误:configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

解决:

  1. wget https://sourceforge.net/projects/re2c/files/0.16/re2c-0.16.tar.gz
  2. tar zxf re2c-0.16.tar.gz && cd re2c-0.16
  3. ./configure
  1. make && make install

如果出现错误:configure: error: C++ compiler cannot create executables

就是gcc扩展没装全。

  1. yum install gcc gcc-c++ gcc-g77

至此,再测试,发现已无报错。

当你进行 make时候发现:No targets specified and no makefile found.  Stop.

则需要进行一下方案解决:

  1. #拿到安装包
  2. wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
  3. #解压
  4. tar zxvf ncurses-5.6.tar.gz
  5. #指向php的路径
  6. ./configure -prefix=/usr/src/php-7.2.
  7. #开始make
  8. make && make install

此时,我们再去/usr/src/php-7.2.3目录下make && make install。

这时候 我们输入php -v可以看到php的版本。

但是,我们一般还需要做一个配置。让php成为一个服务。并且开机自启。

但是却发现php-fpm不知道咋哪里。 那我们就应该安装php-fpm.

  1. #找找php-fpm
  2. find / -name php-fpm.conf
  3. #没找到就安装
  4. yum install php-fpm php-mysql

做如下的配置

  1. mkdir -p /usr/local/php/etc/
  2. touch /usr/local/php/etc/php-fpm.conf
  3. cp /etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf

同样道理

  1. mkdir -p /usr/local/php/etc/php-fpm.d/
  2. touch /usr/local/php/etc/php-fpm.d/www.conf
  3. cp /etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf

继续

  1. mkdir -p /etc/init.d
  2. touch /etc/init.d/php-fpm
  3. cp /usr/src/php-7.2./sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm

启动服务并查看

  1. service php-fpm start
  2. ps aux | grep php-fpm

此时我们的php编译就大功告成。

如下:

-----------------  如果这篇文章帮到了你,或者遇到什么问题,可以在以下留言交流。

CentOS7.2编译安装PHP7.2.3之史上最详细步骤。的更多相关文章

  1. centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展

    centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...

  2. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  3. Linux Centos7.2 编译安装PHP7.0.2

    操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...

  4. Centos7.2 编译安装PHP7

    PHP7,编译安装: 环境:centos7.2    (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.)   直接下载P ...

  5. centos7下编译安装php7.3

    一.下载php7.3的源码 https://www.php.net/downloads.php 下载php-7.3.4.tar.gz 二.安装gcc,gcc-c++,kernel-devel yum ...

  6. centos7.6编译安装php7.3

    刚开始搞环境装过集成,发现不好用,后来自己编译安装一些扩展啊设置的都很容易找到. 以前装过5.6.7.0发现不一样,最近出了7.3是php5速度的三倍,那有必要升级一下列. 由于之前安装过老版本,依赖 ...

  7. Centos7源码编译安装PHP7.2(生产环境)

    安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

  8. centos7.6环境编译安装php-7.2.24修复最新 CVE-2019-11043 漏洞

    先编译安装php-7.2.24,然后编译安装扩展 主版本地址地址:https://www.php.net/distributions/php-7.2.24.tar.gz # 编译 php-7.2.24 ...

  9. Centos7 编译安装PHP7

    Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...

随机推荐

  1. BZOJ 3456: 城市规划 [多项式求逆元 DP]

    题意: 求出n个点的简单(无重边无自环)无向连通图数目.方案数mod 1004535809(479 * 2 ^ 21 + 1)即可. n<=130000 DP求方案 g(n) n个点所有图的方案 ...

  2. XSD详解三 - 复合元素+总结篇

    一.复合元素介绍 1.什么是复合元素? 复合元素指包含其他元素及/或属性的 XML 元素. 有四种类型的复合元素: 空元素 包含其他元素的元素 仅包含文本的元素 包含元素和文本的元素 注释:上述元素均 ...

  3. CentOS 设置网络(修改IP&修改网关&修改DNS)

    CentOS修改IP地址 # ifconfig eth0 192.168.1.80 这样就把IP地址修改为192.168.1.80(如果发现上不了网了,那么你可能需要把网关和DNS也改一下,后面会提到 ...

  4. qt 如何安装 Debuggers 调试器 ?

    1.下载 SDK 或 WDK 打开网址:https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 选择 SDK ...

  5. 历届试题 大臣的旅费 树形DP

    题目链接:大臣的旅费 思路:锦囊说用广搜,可惜这题没说数据范围,担心复杂度太高,我就直接用的树形DP--求树的最远路径. 以城市1为整棵树的根结点,d(i)表示以i为根结点的子树的最远路径,还有一个f ...

  6. poj2635 同余定理 + 素数筛法

    题意:给定一个数,这个数是两个素数的乘积,并给定一个限制L,问是否两个素数中存在小于L的数,若存在输出较小质数,否则打印'GOOD'. 思路: 1 . x = a * b, a和b都是素数,那么x只能 ...

  7. 高并发场景下的httpClient优化使用

    1.背景 我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别.使用了httpclient来完成业务.之前因为qps上不去,就看了一下业务代码,并做了一些优化,记录在这里. 先 ...

  8. 项目实战14—ELK 企业内部日志分析系统

    一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ...

  9. .net core 部署到 iis 步骤及报错解决方法

    我写了一个Asp.net core mvc项目,但是部署在iis发生了502.5的问题一直解决不了. 环境 系统:最强Win10; 工具:轻巧VS Code; 各种百度bing都没有我要的解决方案,说 ...

  10. alsa声卡分析alsa-utils调用过程

    如何分析tinyplay 播放音频和tinymix的过程?需要相应的工具来支持追查: 一.利用strace工具分析tinyplay和tinymix: strace -o tinyplay.log ti ...