Centos7 编译安装PHP7.2

Posted 人称小虎子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 编译安装PHP7.2相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7源码编译安装PHP7.2

centos7编译安装PHP7.2(与Nginx搭配的安装方式)

Centos7.6手工编译安装PHP7.2+nginx1.19.1并部署禅道

Centos7 编译安装Swoole

CentOS7下PHP7.2安装redis扩展

centos7 安装php7扩展