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

2017-10-14  本文已影响0人  LanHuaBao

首先从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;
}

访问。大功告成

上一篇下一篇

猜你喜欢

热点阅读