• centos7 编译安装 php7.4


    1. 下载安装编译工具

    yum groupinstall 'Development Tools'

    2.安装依赖包

    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 libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel

    3.下载并解压php7.4

    wget http://php.net/distributions/php-7.4.0.tar.gz
    tar -zxvf php-7.4.0.tar.gz 
    cd php-7.4.0
    

    4.编译安装(./configure --help 查看编译参数)

     编译前,新增用户组,用户,用于编译使用

    groupadd www
    useradd -g www www

    开始编译(根据自己需要增减)

    ./configure  
    --prefix=/usr/local/php  
    --with-config-file-path=/etc  
    --with-fpm-user=www  
    --with-fpm-group=www   
    --with-curl  
    --with-freetype-dir  
    --enable-gd  
    --with-gettext   
    --with-iconv-dir  
    --with-kerberos  
    --with-libdir=lib64  
    --with-libxml-dir  
    --with-mysqli  
    --with-openssl  
    --with-pcre-regex  
    --with-pdo-mysql  
    --with-pdo-sqlite  
    --with-pear  
    --with-png-dir  
    --with-jpeg-dir  
    --with-xmlrpc  
    --with-xsl  
    --with-zlib  
    --with-bz2  
    --with-mhash  
    --enable-fpm  
    --enable-bcmath  
    --enable-libxml  
    --enable-inline-optimization  
    --enable-mbregex  
    --enable-mbstring  
    --enable-opcache  
    --enable-pcntl  
    --enable-shmop  
    --enable-soap  
    --enable-sockets  
    --enable-sysvsem  
    --enable-sysvshm  
    --enable-xml   
    --enable-zip  
    --enable-fpm

    这里需要注意的是在php7.4 编译参数 --with-gd  要改成了 --enable-gd

    当报错checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11

    #先删除旧版本
    yum remove -y libzip
    
    #下载编译安装
    wget https://nih.at/libzip/libzip-1.2.0.tar.gz
    tar -zxvf libzip-1.2.0.tar.gz
    cd libzip-1.2.0
    ./configure
    make && make install

    error: Package requirements (sqlite3 > 3.7.4) were not met

    yum install libsqlite3x-devel -y

    error: Package requirements (oniguruma) were not met

    yum install oniguruma-devel -y

     当yum install 提示 "没可用软件包"

    yum install -y epel-release

    off_t undefined 报错

    configure: error: off_t undefined; check your library configuration

    off_t 类型是在 头文件 unistd.h中定义的,
    在32位系统 编程成 long int ,64位系统则编译成 long long int ,
    在进行编译的时候 是默认查找64位的动态链接库,
    但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径,
    这个时候需要将 /usr/local/lib64 /usr/lib64 这些针对64位的库文件路径加进去。

    #添加搜索路径到配置文件
    echo '/usr/local/lib64
    /usr/local/lib
    /usr/lib
    /usr/lib64'>>/etc/ld.so.conf
    
    #然后 更新配置
    ldconfig -v

    /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory

    cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

    编译没问题了,执行make && make install  安装完毕

    5.配置环境

    执行完安装命令后php7.4就已经安装在到了/usr/local/php目录下了

    /usr/local/php/bin/php -v

    查看版本

    添加环境变量

    vim /etc/profile

    添加到最后

    PATH=$PATH:/usr/local/php/bin
    export PATH

    更新环境变量

    source /etc/profile

    查看版本

    php -v

    6.配置php-fpm

    cp php.ini-production /etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm

    启动php-fpm

    /etc/init.d/php-fpm start
    或者
    service php-fpm start
  • 相关阅读:
    浅谈块元素绝对定位的margin属性
    因浏览器而异的空白节点(js清除空白节点)
    区分中英文字符的两种方法
    js中 visibility和display的区别 js中 visibility和display的区别
    观察者模式
    单例模式
    mongodb
    javascript的加载、解析、执行对浏览器渲染的影响
    EM算法原理
    YARN
  • 原文地址:https://www.cnblogs.com/liubaoqing/p/12176017.html
Copyright © 2020-2023  润新知