Centos环境下编译安装PHP7.2

2018-05-05 小惟 22

准备

安装必要的依赖库,如果已经安装则可跳过

yum -y install cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel patch wget crontabs libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils ca-certificates net-tools libc-client-devel psmisc libXpm-devel git-core c-ares-devel libicu-devel libxslt libxslt-devel xz expat-devel

创建用户,如果已经创建则可跳过

groupadd www
useradd -s /sbin/nologin -g www www

下载并安装freetype。

freetype是GD库所需要用到的字体引擎

wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz

tar -zxvf freetype-2.9.tar.gz

cd freetype-2.9make && make install 

cd ../

安装PHP

下载并解压

wget http://cn.php.net/distributions/php-7.2.4.tar.gz

tar -zxvf php-7.2.4.tar.gz 
 
cd php-7.2.4

./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,

 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --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 --enable-intl --enable-pcntl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --with-gettext --enable-opcache --with-xsl --with-apxs2=/usr/local/apache/bin/apxs

make开始编译,make install生成相应的可执行文件

make ZEND_EXTRA_LIBS='-liconv'make install
关于php的运行模式

php的运行模式有很多,想了解可参考:https://blog.csdn.net/xujingzhong0077/article/details/53316767

接下来主要介绍两种:FastCGI模式 模块模式

FastCGI(PHP-FPM)模式

--enable-fpm

--with-fpm-user=www

--with-fpm-group=www

这三个参数,是开启PHP-FPM,如果不需要php以FastCGI模式运行,则可去除。

模块模式

--with-apxs2=/usr/local/apache/bin/apxs

这个参数是指定Apache的位置,会自动生成modules/libphp7.so文件,并在Apache的配置文件中自动加入:

LoadModule php7_modulemodules/libphp7.so

如果不需要php以Apache模块模式运行,则可去除。

简单配置

链接到环境变量下,可以直接使用php命令

ln -sf /usr/local/php/bin/php /usr/bin/php

生成配置目录etc和conf.d

mkdir -p /usr/local/php/{etc,conf.d}

拷贝配置文件

cp php.ini-production /usr/local/php/etc/php.ini

如果编译了php-fpm,则进行相关配置

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

验证

至此,php已经安装完成,可通过php命令查看:

查看版本

php -v

查看已经安装的扩展

php -m



模板坊版权所有 京ICP备16066985号-2 京公网安备11010602022036号

100041

QQ:504895209

— 努力创造优质作品,奉献更多精品佳作 —

模板坊 - APP应用开发|网站建设|平面设计