搜索
简帛阁>技术文章>centos7.9 源码编译安装php

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

    结果:

    安装完成

备查看当前linux版本命令lsb_releasea创建安装软件的目录,方便统一管理,在根目录下创建路径/server用来存放所有软件。命令mkdir/server选择下载php的版本,这里以731
准备查看当前linux版本命令:lsb_releasea创建安装软件的目录,方便统一管理,在根目录下创建路径/server用来存放所有软件。命令:mkdir/server下载nginx软件的稳定版ng
介绍:久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说。如果你是升级或新安装,那你首先需要考虑php7和程序是否存在兼容性,如果程序是基于php5
1安装必要的基本软件yuminstallygccx86_64glibcx86_64glibcdevelx86_64vimenhancedx86_64gccjavaapraprdevelopensslo
centos7编辑安装php遇到的问题:/configure配置遇到的Nopackage'libxml20'found缺失libxml20库,解决方法:yumyinstalllibxml2yumyin
前言以前在CentOS上也编译安装过Node,只是没有把过程记录下来,最近又重新安装了一编,所以将安装的步骤记录下分享出来,需要的朋友可以参考借鉴,下面话不多说了,来一起看看详细的介绍吧安装步骤:1安
基于在Centos7服务器上使用yum安装MySQL57到默认路径在修改文件存储位置的时候,折腾了一番没有将成功将datadir修改为我想要的位置我决定再尝试一下通过编译源码来自定义安装:首先下载My
一、安装Nginx1、安装依赖扩展yumyinstallwgetopenssl*gccgccc++autoconflibjpeglibjpegdevellibpnglibpngdevelfreety
1首先安装依赖包:yuminstalllibxml2libxml2developensslopenssldevelbzip2bzip2devellibcurllibcurldevellibjpegli
环境系统:Centos72服务:Nginx1:下载PHP702的安装包解压,编译安装:$cd/usr/src/$wgethttp://cn2phpnet/distributions/php702ta