源码安装php7.4

下载地址:

1、安装wget工具:

    yum install -y wget 

2、安装PHP依赖包

    yum install gcc 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

3、获取php7.4源码包并安装

    wget https://www.php.net/distributions/php-7.4.8.tar.gz
    tar -xzf php-7.4.8.tar.gz
    cd php-7.4.8
预编译:
    ./configure  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--with-mysqli' '--with-pdo-mysql' '--with-iconv-dir' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring'  --disable-mbregex   '--enable-ftp' '--with-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' '--disable-fileinfo' '--enable-maintainer-zts'

如编译报错:No package 'oniguruma' found :

解决方法1:
    yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64//oniguruma5-6.9.4-1.el7.remi.x86_64.rpm

    yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64//oniguruma5-devel-6.9.4-1.el7.remi.x86_64.rpm 
解决方法2:
    “--enable-mbstring”后再添加“--disable-mbregex”参数。这样的配置将不再需要oniguruma库。
编译:
    make
安装:
    make install

4、编译完成之后,我们添加PHP命令到环境变量里

    vim  /etc/profile
在文件末尾加入:
    PATH=$PATH:/usr/local/php/bin
    export PATH
要使改动立即生效执行
    source /etc/profile
查看PHP 版本
    php -v

    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/src/php-7.4.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod 755 /etc/init.d/php-fpm
    chkconfig  --add   php-fpm
    chkconfig php-fpm on

php-fpm.conf是php服务程序重要的配置文件之一,我们需要启用该配置文件中第25行左右的pid文件保存目录,然后分别将第148和149行的user与group参数分别修改为www账户和用户组名称:

vim /usr/local/php/etc/php-fpm.conf

    25 pid = run/php-fpm.pid
    ………………省略部分输出信息………………
    148 user = www
    149 group = www
    ………………省略部分输出信息………………

    cp /usr/local/php/etc/php-fpm.d/www.conf.default www.conf
    /etc/init.d/php-fpm start