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. 转:【Python3网络爬虫开发实战】3.1.2-处理异常

    [摘要] 前一节我们了解了请求的发送过程,但是在网络不好的情况下,如果出现了异常,该怎么办呢?这时如果不处理这些异常,程序很可能因报错而终止运行,所以异常处理还是十分有必要的. urllib的erro ...

  2. 第二十四章、containers容器类部件QScrollArea滚动区域详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...

  3. PyQt(Python+Qt)学习随笔:QTableWidget的findItems和selectedItems搜索项和访问选中项方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.搜索项 在表格部件中,可以根据文本以及匹配模式来搜索满足条件的项,调用语法: list[QTab ...

  4. 第11.4节 Python正则表达式搜索字符集匹配功能及元字符”[]”介绍

    Python正则表达式字符集匹配表示是指搜索一个字符,该字符在给定的一个字符的集合中.元字符'['和']'是用于组合起来定义匹配字符集,匹配模式中使用 '['开头,并使用']'结尾来穷举搜索的字符可能 ...

  5. 第9.13节 Python文件操作总结

    本章老猿重点介绍了Python io模块的文件操作相关功能,包括文件打开.读.写.文件定位.文件关闭,并介绍了二进制文件和文本文件处理的差异,以及相关文件编码的一些知识,最后简单提及了Python中与 ...

  6. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...

  7. bugku login4

    (前排提示:这次思路写的极不清晰,可能只有我自己看的懂,打个预防针QAQ) 首先看题: 扫描,拿到了 .index.php.swp 这个文件是可以复原的. 上面的是重要的源码.审计之后发现这是CBC加 ...

  8. CSS初识- 选择器 &背景& 浮动& 盒子模型

    # CSS初识-目标: > 1. 学会使用CSS选择器 > 2. 熟记CSS样式和外观属性 > 3. 熟练掌握CSS各种基础选择器 > 4. 熟练掌握CSS各种复合选择器 &g ...

  9. DVWA SQL Injection High

    High 虽然是high等级,但是通过源码审计发现与low等级一样,没有对传入的值做任何过滤,唯一不同的就是点击连接后打开了另外一个对话框,用户在新打开的页面输入 其余的步骤与low级别的一样:htt ...

  10. 小心使用 Task.Run 续篇

    关于前两天发布的文章:为什么要小心使用 Task.Run,对文中演示的示例到底会不会导致内存泄露,给很多人带来了疑惑.这点我必须向大家道歉,是我对导致内存泄漏的原因没描述和解释清楚,也没用实际的示例证 ...