CentOS7.6_php7.2_php5.6 编译安装
服务器: IBM x3850 X5软件环境:CentOS7.6+Nginx1.16.0+php7.2.21+php5.6.40+mysql8.0.17由于旧的业务需求,还要用到老PHP版本,所以装上php5.6,双版本同时运行
1.下载安装包[
root@XiaoFeng sjd]
# wget https://www.php.net/distributions/php-7.2.21.tar.gz[
root@XiaoFeng sjd]
# wget http://cn2.php.net/distributions/php-5.6.40.tar.gz[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
2.安装依赖包[
root@XiaoFeng sjd]
# yum install -y curl curl-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetypefreetype-devel gmp gmp-devel php-mcrypt libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib[
root@XiaoFeng sjd]
# tar -zxvf php-7.2.21.tar.gz[
root@XiaoFeng sjd]
# cd php-7.2.21[
root@XiaoFeng php
-7.2.
21]
# useradd -s /sbin/nologin php-fpm #创建php-fpm运行用户和组[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
3.编译配置[
root@XiaoFeng php
-7.2.
21]
# ./configure \--prefix=/usr/local/php \--exec-prefix=/usr/local/php \--bindir=/usr/local/php/bin \--sbindir=/usr/local/php/sbin \--with-libdir=/usr/lib64 \--enable-fpm \--with-fpm-user=php-fpm \--with-fpm-group=php-fpm \--with-config-file-path=/etc \--with-libxml-dir \--with-openssl \--with-mysqli \--with-zlib \--enable-bcmath \--with-bz2 \--enable-calendar \--with-curl \--enable-exif \--with-pcre-dir \--enable-ftp \--with-openssl-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--enable-gd-jis-conv \--with-gettext \--with-gmp \--with-mhash \--enable-mbstring \--with-libmbfl \--with-onig \--with-pdo-mysql \--with-readline \--enable-shmop \--enable-soap \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--with-xmlrpc \--with-xsl \--enable-zip \--with-pear \--enable-mysqlnd \--enable-shared \--enable-inline-optimization \--disable-debug \--enable-xml \--with-sqlite3 \--with-iconv \--with-cdb \--enable-dom \--enable-fileinfo \--enable-filter \--enable-json \--enable-mbregex \--enable-mbregex-backtrack \--enable-pdo \--with-pdo-sqlite \--enable-session \--enable-simplexml \--enable-opcache[
root@XiaoFeng php
-7.2.
21]
# make && make install[
root@XiaoFeng php
-7.2.
21]
# cp php.ini-development /etc/php.ini #复制php配置文件[
root@XiaoFeng php
-7.2.
21]
# cd /usr/local/php/etc/[
root@XiaoFeng etc]
# cp php-fpm.conf.default php-fpm.conf #php-fpm配置文件[
root@XiaoFeng etc]
# cp php-fpm.d/www.conf.default php-fpm.d/www.conf [
root@XiaoFeng etc]
# /usr/local/php/sbin/php-fpm -t #检验配置文件是否正确[
13-Aug
-2019 14:
39:
38]
NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successfu
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
4.配置PHP命令和服务并开机启动#启动php-fpm[
root@XiaoFeng etc]
# cp /sjd/php-7.2.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm[
root@XiaoFeng etc]
# chmod +x /etc/init.d/php-fpm[
root@XiaoFeng etc]
# service php-fpm start #启动php-fpmStarting php-fpm done[
root@XiaoFeng etc]
# ps aux |grep php-fpmroot
17498 0.0 0.0 134628 6636 ? Ss
14:
59 0:
00 php-fpm: master process(/usr/local/php/etc/php-fpm.conf)php-fpm
17499 0.0 0.0 134628 6180 ? S
14:
59 0:
00 php-fpm: pool wwwphp-fpm
17500 0.0 0.0 134628 6184 ? S
14:
59 0:
00 php-fpm: pool wwwroot
17503 0.0 0.0 112724 992 pts/
0 S+
15:
00 0:
00 grep --color=auto php-fpm
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
加入开机启动,执行:[
root@XiaoFeng etc]
# chkconfig php-fpm on[
root@XiaoFeng etc]
# chkconfig --list php-fpm[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
5.PHP7.2已经安装完了,接下来要配置nginx来支持php[
root@XiaoFeng etc]
# cd /usr/local/nginx/conf[
root@XiaoFeng conf]
# vim nginx.conf[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
第一行是空的,就在第二行修改user nginx; 运行nginx的用户为nginx第45行,设置默认访问的首页文件,添加index.php第65行到71行,去掉注释,第69行中的/scripts 改成$document_root代码如下: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;}
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
在网站目录下写个php页面测试下[
root@XiaoFeng conf]
# vim ../html/index.php<?php
echo phpinfo();
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
重启nginx[
root@XiaoFeng conf]
# /usr/local/nginx/sbin/nginx -s reload[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
打开浏览器看到PHP Version 7.2.21页面就完成了
6.接下来再安装另一个PHP版本5.6安装依赖组件, libmcrypt这个yum安装不了的话就自己去下找包来安装[
root@web sjd]
# tar -zxvf libmcrypt-2.5.8.tar.gz[
root@web sjd]
# cd libmcrypt-2.5.8[
root@web libmcrypt
-2.5.
8]
# ./configure --prefix=/usr/local[
root@web libmcrypt
-2.5.
8]
# make && make install[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
7.开始安装PHP5.6
[
root@XiaoFeng sjd]
# tar -zxvf php-5.6.40.tar.gz[
root@XiaoFeng sjd]
# cd php-5.6.40[
root@XiaoFeng php
-5.6.
40]
# ./configure \--prefix=/usr/local/php5
.6 \--with-config-file-path=/usr/local/php5
.6/etc \--enable-fpm \--with-fpm-user=php-fpm \--with-fpm-group=php-fpm \--with-mysql=mysqlnd \--with-pdo-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-ftp \--enable-mbstring \--enable-exif \--disable-ipv6 \--with-pear \--with-curl \--enable-bcmath \--enable-mbstring \--enable-sockets \--with-gd \--with-libxml-dir=/usr/local \--with-gettext[
root@XiaoFeng php
-5.6.
40]
# make && make install[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
8.修改配置文件,改php-fpm端口为9001[
root@XiaoFeng php
-5.6.
14]
# cp php.ini-production /usr/local/php5.6/etc/php.ini[
root@XiaoFeng php
-5.6.
14]
# cd /usr/local/php5.6/etc/[
root@XiaoFeng etc]
# cp php-fpm.conf.default php-fpm.conf[
root@XiaoFeng etc]
# vim php-fpm.conf[
global]pid = /usr/local/php5
.6/
var/run/php-fpm.piderror_log = /usr/local/php5
.6/
var/log/php-fpm.log[www]listen =
127.0.
0.1:
9001[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
保存配置文件后,检验配置是否正确的方法为:[
root@web etc]
# /usr/local/php5.6/sbin/php-fpm -t[
13-Aug
-2019 16:
21:
44]
NOTICE: configuration file /usr/local/php5
.6/etc/php-fpm.conf test issuccessful
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
启动php-fpm[
root@XiaoFeng etc]
# cp /sjd/php-5.6.40/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm5.6[
root@XiaoFeng etc]
# chmod +x /etc/init.d/php-fpm5.6[
root@XiaoFeng etc]
# service php-fpm5.6 startStarting php-fpm done[
root@XiaoFeng etc]
# ps aux |grep php-fpmroot
17498 0.0 0.0 134628 6636 ? Ss
14:
59 0:
00 php-fpm: master process(/usr/local/php/etc/php-fpm.conf)php-fpm
17499 0.0 0.0 134692 8180 ? S
14:
59 0:
00 php-fpm: pool wwwphp-fpm
17500 0.0 0.0 134692 7124 ? S
14:
59 0:
00 php-fpm: pool wwwroot
26997 0.0 0.0 114764 4752 ? Ss
16:
25 0:
00 php-fpm: master process(/usr/local/php5
.6/etc/php-fpm.conf)php-fpm
26998 0.0 0.0 114764 4300 ? S
16:
25 0:
00 php-fpm: pool wwwphp-fpm
26999 0.0 0.0 114764 4300 ? S
16:
25 0:
00 php-fpm: pool wwwroot
27004 0.0 0.0 112724 996 pts/
0 S+
16:
25 0:
00 grep --color=auto php-fpm
root@XiaoFeng etc]
# netstat -ntlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program nametcp
0 0 127.0.
0.1:
9000 0.0.
0.0:*
LISTEN 17498/php-fpm: masttcp
0 0 127.0.
0.1:
9001 0.0.
0.0:*
LISTEN 26997/php-fpm: mast
[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
让它开机启动,执行:[
root@XiaoFeng etc]
# chkconfig php-fpm5.6 on[
root@XiaoFeng etc]
# chkconfig --list php-fpm5.6[size=; font-size: 0.8em,0.8em][backcolor=rgba(224, 224, 224, 0.2)]
PHPCopy
多PHP版本同时运行环境配置完成
https://www.hotxf.com/52