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. Python中的enumerate函数的作用

    enumerate函数是将一个可迭代对象中元素,按元素顺序每个增加一个索引值,将其组成一个索引序列,利用它可以同时获得索引和值,这样做的目的是为了将一个可迭代对象中元素组成一个"索引,值&q ...

  2. 第11.25节 Python正则表达式编译re.compile及正则对象使用

    一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullm ...

  3. PHP代码审计分段讲解(9)

    22 弱类型整数大小比较绕过 <?php error_reporting(0); $flag = "flag{test}"; $temp = $_GET['password' ...

  4. espcms代码审计第一弹

    以前的代码审计都是在CTF比赛题里面进行对于某一段代码的审计,对于后端php整体代码和后端整体架构了解的却很少,所以有空我都会学习php的代码审计,以提高自己 环境就直接用的是phpstudy,学习的 ...

  5. 效率神器-MouseInc推荐和使用

    主要功能 鼠标手势 按住右键滑动即可开始使用. 配置细微,可自由修改手势宽度,颜色,识别灵敏度等. 支持黑名单,支持特定软件自定义手势,支持复合动作. 功能非常强大,比如下面的操作: 选中一个网址,画 ...

  6. 部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用

    前面介绍了很多关于ABP框架的后台Web API 服务端,以及基于Vue+Element前端应用,本篇针对两者的联合部署,以及对部署中遇到的问题进行处理.ABP框架的后端是基于.net core5.0 ...

  7. 笔记-Recursive Queries

    Recursive Queries \[m_{l,r}=\textrm{id}(\max_{i=l}^r a_i)\\ f(l,r)= \begin{cases} (r-l+1)+f(l,m_{l,r ...

  8. 深入理解Java虚拟机(一)——JVM内存模型

    文章目录 程序计数器 定义 作用 特点 Java虚拟机栈 定义 特点 本地方法栈 定义 Java堆 定义 特点 方法区 定义 特点 运行常量池 直接内存 总结 Java虚拟机的内存空间分为五个部分: ...

  9. C++ 虚函数表与多态 —— 关键字 final 的用法

    final 字面上最终.最后.不可改变的意思,final 这个关键字在 Jave PHP C++中都有用到,其作用也基本一致. C++中的 final 是C++11新增,他可以用来修饰类,让类无法被继 ...

  10. Android 11 源码下载+编译教程

    下载AOSP源码 这里我使用的是外国语大学的镜像执行的下载,Mac系统的话,一定要在区分大小姐的磁盘下执行 repo init -u https://mirrors.bfsu.edu.cn/git/A ...