centos7.9 源码编译安装php

准备

  • 查看当前linux版本

    命令
    lsb_release -a
    

  • 创建安装软件的目录,方便统一管理,在根目录下创建路径/server用来存放所有软件。

    命令
    mkdir /server
    
  • 选择下载php的版本,这里以7.3.13为例。下载地址:php版本

    命令:
    cd /server #切换到软件安装目录
    
    wget https://www.php.net/distributions/php-7.3.13.tar.gz #下载到当前目录
    
    tar -zxvf php-7.3.13.tar.gz #解压到当前位置
    
    rm -rf nginx-1.18.0.tar.gz  #删除压缩包
    


安装

  • 执行configure,生成配置

    命令:
    
    cd php-7.3.13/  #进入php的目录
     
    ./configure \
    --prefix=/server/php \
    --with-config-file-path=/server/php/etc \
    --with-mhash \
    --with-openssl \
    --with-mysqli \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-gd \
    --with-iconv \
    --with-zlib \
    --enable-zip \
    --enable-inline-optimization \
    --disable-debug \
    --disable-rpath \
    --enable-shared \
    --enable-xml \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-mbregex \
    --enable-mbstring \
    --enable-ftp \
    --enable-pcntl \
    --enable-calendar \
    --enable-exif \
    --enable-sockets \
    --with-xmlrpc \
    --with-libxml-dir \
    --enable-soap \
    --with-gettext \
    --enable-session \
    --with-curl \
    --with-jpeg-dir \
    --with-png-dir \
    --with-freetype-dir \
    --with-bz2 \
    --enable-opcache \
    --enable-fpm \
    --with-fpm-user=nginx \
    --with-fpm-group=nginx \
    --enable-fast-install
    

    编译一般都会缺少各种依赖而报错,解决依赖

    1. configure: error: libxml2 not found. Please check your libxml2 installation.

      解决办法: yum install -y libxml2-devel

    2. configure: error: Please reinstall the BZip2 distribution

      解决办法: yum install -y bzip2-devel

    3. configure: error: cURL version 7.15.5 or later is required to compile php with cURL support

      解决办法: yum install -y curl-devel

    4. configure: error: jpeglib.h not found.

      解决办法: yum install -y libjpeg-devel

    5. configure: error: png.h not found.

      解决办法: yum install -y libpng-devel

    6. configure: error: freetype-config not found.

      解决办法: yum install -y freetype-devel

    7. configure: error: Please reinstall the libzip distribution

      解决办法:

      wget https://libzip.org/download/libzip-1.2.0.tar.gz #下载libzip
      
      tar -zxvf libzip-1.2.0.tar.gz #解压到当前目录
      
      rm -rf libzip-1.2.0.tar.gz  #删除压缩包
      
      cd libzip-1.2.0/ #进去libzip目录
      
      ./configure --bindir=/usr/sbin/ \
          --sbindir=/usr/sbin/ \
          --libexecdir=/usr/libexec \
          --sysconfdir=/etc/ \
          --localstatedir=/var \
          --libdir=/usr/lib64/  \
          --includedir=/usr/include/ \
          --datarootdir=/usr/share \
          --infodir=/usr/share/info \
          --localedir=/usr/share/locale \
          --mandir=/usr/share/man/ \
          --docdir=/usr/share/doc/libzip-1.2.0 #生成配置
      
      make && make install #编译安装
      
    结果:

    出现如上显示,则代表配置成功

  • 编译源码

    命令:

    make #在当前路径下执行make命令进行编译

    结果:

    出现如上显示,则代表编译成功

  • 编译安装

    命令:

    make install #在当前路径下执行编译安装

    结果:

    出现如上显示,则代表编译成功

  • 配置PHP

    1. 复制php.ini:

      cp -a php.ini-production /server/php/etc/php.ini  #复制php.ini到etc目录下
      
    2. 复制php-fpm.conf

      cd /server/php/etc/ #跳转到etc目录下
      
      cp -a php-fpm.conf.default ./php-fpm.conf #复制php-fpm配置文件 
      
    3. 复制www.conf

      cd /server/php/etc/php-fpm.d #跳转到php-fpm.d目录下
      
      cp -a www.conf.default ./www.conf #复制www.conf
      
    4. 配置php为环境变量

      export PATH=$PATH:/server/php/bin
      
  • 测试

    命令:

    php-v

    结果:

    安装完成

posted on 2021-01-13 18:06  顶级手法  阅读(296)  评论(0编辑  收藏  举报