美文网首页
Centos7下编译安装最新的php7.2RC4运行环境之完全版

Centos7下编译安装最新的php7.2RC4运行环境之完全版

作者: LanHuaBao | 来源:发表于2017-10-14 14:09 被阅读0次

    首先从PHP官网下载最新版本的php(目前最新release版本为7.2RC4),官网下载地址为:https://downloads.php.net/~remi/php-7.2.0RC4.tar.gz

    依次命令(一行为一句)为:

    cd ~
    
    wget https://downloads.php.net/~remi/php-7.2.0RC4.tar.gz
    
    tar -xvf php-7.2.0RC4.tar.gz
    
    cd php-7.2.0RC4
    

    此时已经解压完毕,并已经cd进入.PHP7.2源代码根目录。编译PHP之前我们需要yum安装一些必备的拓展,php主要以apache模块和php-fpm两种方式运行,将根据编译参数编译出对于的apache模块和php-fpm,此处我们编译以php-fpm方式运行,编译之前先安装必须的拓展

    yum命令如下:

    yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel
    

    安装完毕必须的拓展,此时准备编译工作已经完毕,使用编译参数进行编译

    ./configure \
    
    --prefix=/usr/local/php \
    
    --with-config-file-path=/etc/php \
    
    --with-config-file-scan-dir=/etc/php/conf.d \
    
    --enable-fpm \
    
    --with-fpm-user=web \
    
    --with-fpm-group=www \
    
    --enable-soap \
    
    --with-openssl \
    
    --with-openssl-dir \
    
    --with-pcre-regex \
    
    --with-zlib \
    
    --with-iconv \
    
    --with-bz2 \
    
    --enable-calendar \
    
    --with-curl \
    
    --with-cdb \
    
    --enable-dom \
    
    --enable-exif \
    
    --with-pcre-dir \
    
    --enable-ftp \
    
    --with-gd \
    
    --with-jpeg-dir \
    
    --with-png-dir \
    
    --with-freetype-dir \
    
    --with-gettext \
    
    --with-gmp \
    
    --with-mhash \
    
    --enable-mbstring \
    
    --with-libmbfl \
    
    --with-onig \
    
    --enable-pdo \
    
    --with-pdo-mysql \
    
    --with-zlib-dir \
    
    --with-readline \
    
    --enable-session \
    
    --enable-shmop \
    
    --enable-simplexml \
    
    --enable-sockets \
    
    --enable-sysvmsg \
    
    --enable-sysvsem \
    
    --enable-sysvshm \
    
    --enable-wddx \
    
    --with-libxml-dir \
    
    --with-xsl \
    
    --enable-zip \
    
    --enable-mysqlnd \
    
    --with-mysqli \
    
    --without-pear
    

    如果不出意外没有看到报错那么编译参数配置完毕,

    make 后依次 make install 完成基本php编译安装。值得说明的是,此时php没有软连接至系统path目录,那么直接在命令行中无法使用php 命令,需自行软连接即可。安装完毕,需配置一下nginx和php-fpm。至此PHP安装完毕,但是仍需配置之。
    首先切换回到php源代码目录,将php-fpm注册到系统服务,后修改php-fpm配置文件,
    将php.ini配置到/etc/php/目录

    cd  ~/php-7.2.0RC4/sapi/fpm
    mv php-fpm.service /usr/lib/systemd/system/
    cd ~/php-7.2.0RC4
    mv php.ini-development /etc/php/php.ini
    mkdir /etc/php/conf.d
    

    此时可以使用systemctl 或service对php-fpm进行启动重启,但不出意外会失败,因为默认编译的php-fpm配置文件没有被修改.

    cd /usr/local/php/etc
    mv php-fpm.conf.default php-fpm.conf
    cd php-fpm.d
    mv www.conf.default www.conf
    

    此时修改配置文件完毕,但仍然无法启动服务,因为php-fpm用户和用户组不存在,创建之

    groupadd www
    useradd -M -g www -s /sbin/nologin web
    systemctl start php-fpm
    ps -e|grep php-fpm
    

    创建组www以及不允许登录并不创建用户目录的用户web.并启动,ps进程中可以看到php-fpm进程。
    修改nginx 将php文件请求指向php-fpm监听的端口

    location ~ .php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
    

    访问。大功告成

    相关文章

      网友评论

          本文标题:Centos7下编译安装最新的php7.2RC4运行环境之完全版

          本文链接:https://www.haomeiwen.com/subject/qhwxuxtx.html