CentOS 7 编译安装 php 7.2

在开发或者上线正式运行的过程中,我们可能需要最新版本的 PHP 7.2,这里将记录我本次编译安装 PHP 的整个过程,以备不时之需,本文将介绍如何手动在CentOS 7 上编译安装 最新版PHP 7.2 并且配置 php-fpm 的运行环境(在 linux 下 一般是 php-fpm 配合 nginx 运行效率比较高)

首先 进入官网  www.php.net 找到对应的PHP版本号,我这里选择 PHP 7.2.8 (这个时间节点我这里这个版本最新)


打开下载链接 ,获得 对应的下载路径。

http://cn2.php.net/distributions/php-7.2.8.tar.gz

 

我这里 使用中国镜像。

我们用 wget 下载下来,如果没有安装  wget 请先用yum安装

~# wget http://cn2.php.net/distributions/php-7.2.8.tar.gz


下载完成后,使用解压命令解压

~# tar -zxvf php-7.2.8.tar.gz


解压完以后 进入源码目录

~# cd php-7.2.8


在编译之前,我们还需要先安装 依赖包,我这里列出依赖程序安装的命令行

php-7.2.8#  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


安装好依赖包以后,我们还需要创建一个用于运行 php  php-fpm 的账号,如果你需要在root下运行,可以不需要创建账号,但是这个是比较危险的,网站所赋予的权限太高,如果有安全隐患会造成整个服务器被黑客完全控制,所以创建独立运行的账号 是非常有必要的。

添加 用户组

php-7.2.8# groupadd www

添加一个用户,不允许登录,不创建主目录文件夹

php-7.2.8# useradd -s /sbin/nologin -g www -M www

OK, 到这里 我们先配置编译参数

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--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-compression-support \
--with-pear \
--enable-opcache

这里如果看到 有  

 

Thank you for using PHP.

的文字,就表示可以编译了。

这时候我们可以使用 make 进行编译代码, 你也可以为了加速编译 对应你cpu 的核心数 选择 编译线程  如  make -j4  是使用4个线程来编译。

php-7.2.8# meke -j4

编译可能需要一些时间,耐心等待编译完成,编译完成以后使用make install 命令进行安装。

php-7.2.8# meke install


这个时候 会根据我们编译的程序,把 程序安装在 /usr/local/php  中。

安装完成后,我们把安装目录中的 bin 和 sbin 加入 环境变量

vi /etc/profile


将 以下环境变量信息加入/etc/profile文件尾部

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


如果需要立即生效 运行 

source /etc/profile


将 php.ini  拷贝到 /etc

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

配置 php-fpm

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


添加 php-fpm 自动启动服务

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


本文为原创文章,未经允许不可转载,请尊重作者劳动成果。