yum install wget

在 /usr/local/src 目录下载php源码包

wget http://cn2.php.net/distributions/php-7.2.4.tar.gz

解压源码包
tar zxvf php-7.2.1.tar.gz 
安装编译php需要的依赖包:
yum install gcc autoconf gcc-c++
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install systemd-devel
yum install openjpeg-devel
添加php-fpm用户
创建群组
groupadd php-fpm
创建一个用户,不允许登陆和不创主目录

useradd -s /sbin/nologin -g php-fpm -M php-fpm

编译参数:

  1.  
    开发环境:
  2.  
        --enable-phpdbg\
  3.  
        --enable-dtrace\
  4.  
    生产环境:
  5.  
        --disable-phpdbg\
  6.  
        --disable-dtrace\
  1.  
    ./configure \
  2.  
    --prefix=/usr/local/php \
  3.  
    --with-config-file-path=/usr/local/php/etc \
  4.  
    --with-zlib-dir \
  5.  
    --with-freetype-dir \
  6.  
    --enable-mbstring \
  7.  
    --with-libxml-dir=/usr \
  8.  
    --enable-xmlreader \
  9.  
    --enable-xmlwriter \
  10.  
    --enable-soap \
  11.  
    --enable-calendar \
  12.  
    --with-curl \
  13.  
    --with-zlib \
  14.  
    --with-gd \
  15.  
    --with-pdo-sqlite \
  16.  
    --with-pdo-mysql \
  17.  
    --with-mysqli \
  18.  
    --with-mysql-sock \
  19.  
    --enable-mysqlnd \
  20.  
    --disable-rpath \
  21.  
    --enable-inline-optimization \
  22.  
    --with-bz2 \
  23.  
    --with-zlib \
  24.  
    --enable-sockets \
  25.  
    --enable-sysvsem \
  26.  
    --enable-sysvshm \
  27.  
    --enable-pcntl \
  28.  
    --enable-mbregex \
  29.  
    --enable-exif \
  30.  
    --enable-bcmath \
  31.  
    --with-mhash \
  32.  
    --enable-zip \
  33.  
    --with-pcre-regex \
  34.  
    --with-jpeg-dir=/usr \
  35.  
    --with-png-dir=/usr \
  36.  
    --with-openssl \
  37.  
    --enable-ftp \
  38.  
    --with-kerberos \
  39.  
    --with-gettext \
  40.  
    --with-xmlrpc \
  41.  
    --with-xsl \
  42.  
    --enable-fpm \
  43.  
    --with-fpm-user=php-fpm \
  44.  
    --with-fpm-group=php-fpm \
  45.  
    --with-fpm-systemd \
  46.  
    --disable-fileinfo
  47.  
     

执行编译:

make && make install

php-ini:

源码包里面有配置文件:

php.ini-development     测试开发环境

php.ini-production         生产环境

复制一份到指定的目录下(根据自己的情况选用,自己可以对比下这两个文件的差异):

cp php.ini-production /usr/local/php/etc/php.ini

php-fpm复制一份新的php-fpm配置文件:

cd /usr/local/php/etc

cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf

配置错误日志:

error_log = /usr/local/php/var/php-fpm.log

配置pid文件:

pid = /usr/local/php/var/run/php-fpm.pid

保存退出

cd /usr/local/php/etc/php-fpm.d

cp www.conf.default  www.conf

管理php-fpm配置:

cd /usr/local/src/php-7.2.4

cp ./sapi/fpm/php-fpm.service 到 /usr/lib/systemd/system/下

配置开机启动php-fpm:

systemctl enable php-fpm

启动php-fpm:

systemctl start php-fpm

查看状态:

systemctl status php-fpm

添加环境变量:

vim  /etc/profile

在末尾追加:

export PATH=$PATH:'/usr/local/php/bin/'

保存退出。

source /etc/profile

测试:

php -v

看到下面这个就表示已经成功了。

如果需要区分web和cli环境,可以将 /usr/local/php/etc/php.ini 复制一份,重命名为php-cli.ini

cp /usr/local/php/etc/php.ini  /usr/local/php/etc/php-cli.ini

需要调整配置,就在各自的配置文件中进行调整即可。

Centos7 编译安装PHP7.2的更多相关文章

  1. Centos7 编译安装PHP7

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

  2. CentOS7编译安装php7.1配置教程详解

    这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...

  3. CentOS7 编译安装 php7

    更新:2019-01-25 补充:CentOS 7.5 全新编译安装 PHP-7.3.1 ,补充内容接在原文之后 更新:2018-09-29 补充:新系统下编译安装PHP-7.2.5遇到的问题,补充内 ...

  4. CentOS7编译安装php7.1

    1.首先安装依赖包: yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl ...

  5. centos7 编译安装 php7.3.11

    1.安装依赖 yum install -y libxml2 *openssl* libcurl* libjpeg* libpng* freetype* libmcrypt* gcc gcc-c++ 2 ...

  6. centos7 编译安装 php7.4

    1. 下载安装编译工具 yum groupinstall 'Development Tools' 2.安装依赖包 yum install libxml2 libxml2-devel openssl o ...

  7. centos7编译安装PHP7已经把你逼到去安定医院看门诊的地步?请看此文

    本文援引自https://www.cnblogs.com/lamp01/p/10101659.html,亲测可行,特此鸣谢 地球上总有一群人是如此深爱PHP,但无奈的是编译安装的过程化特性,导致各种b ...

  8. centos7编译安装php7.2

    去官网下载php7.2安装包,选择一个结点下载:http://php.net/downloads.php 下载:wget -ivh http://cn.php.net/distributions/ph ...

  9. CentOs7 编译安装PHP7.1.5

    1 创建php用户和用户组,并在github下载php7源码 #######新建php用户和php组 [root@typecodes ~]# groupadd -r www && us ...

随机推荐

  1. 第11.21节 Python 中正则表达式的其他扩展功能

    一. 引言 在<第11.17节 Python 正则表达式扩展功能:命名组功能及组的反向引用>中老猿介绍了组匹配模式的命名组功能及引用组功能,这两者都是正则表达式的扩展功能,其实在re模块中 ...

  2. python-字典dict、去除重复set

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  3. 结对项目Myapp

    ·Github地址:https://github.com/Dioikawa/Myapp ·成员:陈杰才(3118005089) 蔡越(3118005086) ·耗费时间估计: PSP2.1 Perso ...

  4. JAVA_数据类型介绍与基本数据类型之间的运算规则

    基本数据类型 整型: byte.short.int.long java 的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须 ...

  5. js 导出div 中的类容为 word 文件

    //引入包 <script src="/FileSaver.js"></script>  <script src="/jquery.word ...

  6. 题解-[SDOI2017]数字表格

    题解-[SDOI2017]数字表格 前置知识: 莫比乌斯反演</> [SDOI2017]数字表格 \(T\) 组测试数据,\(f_i\) 表示 \(\texttt{Fibonacci}\) ...

  7. ubuntu18.04 登录界面循环,已解决

    按照百度的方法,要卸载重装nvidia,遇到如下问题 1.进入Ubuntu字符界面,出现乱码,猜测是sudo命令出现问题,果然 解决方案:$ PATH=/usr/kerberos/sbin:/usr/ ...

  8. 学生证申请Idea

    1.地址:https://www.jetbrains.com/shop/eform/students2.英语不好的一键翻译,说明:三五天下来3.上图:

  9. SpringBoot + SpringSecurity + Mybatis-Plus + JWT + Redis 实现分布式系统认证和授权(刷新Token和Token黑名单)

    1. 前提   本文在基于SpringBoot整合SpringSecurity实现JWT的前提中添加刷新Token以及添加Token黑名单.在浏览之前,请查看博客:   SpringBoot + Sp ...

  10. 04-flask-模版基础

    Jinja2 概念 Jinja2:是 Python 下一个被广泛应用的模板引擎,是由Python实现的模板语言,他的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能,其是Fl ...