centos 7コンパイルインストールphp 7.2.10(nginxサーバおよびredis拡張インストール)
1.インストール依存
2.phpソースコードのダウンロードとインストール
3.phpのプロファイルのコピー
4.php-fpmのプロファイルのコピー
5.起動と起動の設定
6.redis拡張のインストール
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel readline-devel libxslt-devel autoconf
2.phpソースコードのダウンロードとインストール
#### root
cd /root
####
wget http://docs.php.net/distributions/php-7.2.10.tar.gz
####
tar xvf php-7.2.10.tar.gz
#### php
cd php-7.2.10
####
./configure --prefix=/usr/local/lnmp/php \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-exif \
--enable-ftp \
--with-gd \
--with-gettext \
--with-mhash \
--with-libxml-dir \
--enable-mbstring \
--with-mysqli \
--with-openssl \
--with-pcre-dir \
--with-pdo-mysql \
--with-readline \
--enable-sockets \
--enable-wddx \
--with-xsl \
--enable-zip \
--with-zlib \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-iconv-dir \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www
#### --enable-bcmath
#### --with-bz2 bz2
#### --enable-calendar
#### --with-curl curl
#### --enable-exif
#### --enable-ftp ftp
#### --with-gd gd
#### --with-gettext gnu gettext ,
#### --with-mhash mhash
#### --with-libxml-dir libxml2
#### --enable-mbstring ,
#### --with-mysqli mysql
#### --with-openssl openssl ,
#### --with-pcre-dir perl
#### --with-pdo-mysql PDO
#### --with-readline readline ( CLI / CGI)
#### --enable-sockets sockets
#### --enable-wddx WDDX
#### --with-xsl XSLT
#### --enable-zip Zip /
#### --with-zlib zlib
#### --with-freetype-dir freetype
#### --with-jpeg-dir jpeg
#### --with-png-dir png
#### --enable-fpm php-fpm
#### , :configure: WARNING: unrecognized options:xxxxxx
####
####
make
####
make install
3.phpのプロファイルのコピー
#### php php
cp /root/php-7.2.10/php.ini-development /usr/local/lnmp/php/lib/php.ini
#### php.ini
vim /usr/local/lnmp/php/lib/php.ini
####
;date.timezone =
date.timezone = PRC
### mysql sock
### mysql status sock
pdo_mysql.default_socket = /usr/local/lnmp/mysql/tmp/mysql.sock
mysqli.default_socket = /usr/local/lnmp/mysql/tmp/mysql.sock
4.php-fpmのプロファイルのコピー
#### php-fpm
cp /usr/local/lnmp/php/etc/php-fpm.conf.default /usr/local/lnmp/php/etc/php-fpm.conf
#### php-fpm.conf
vim /usr/local/lnmp/php/etc/php-fpm.conf
####
pid = run/php-fpm.pid
#### www.conf
cp /usr/local/lnmp/php/etc/php-fpm.d/www.conf.default /usr/local/lnmp/php/etc/php-fpm.d/www.conf
#### www.conf
vim /usr/local/lnmp/php/etc/php-fpm.d/www.conf
####
user = www
group = www
pm.max_children = 50 # php-fpm
pm.start_servers = 20 # php-fpm
pm.min_spare_servers = 5 # php-fpm
pm.max_spare_servers = 35 # php-fpm
#### www
groupadd www
useradd -g www -s /sbin/nologin -M www
#### -M php
####
userdel -r name
5.起動と起動の設定
####
/usr/local/lnmp/php/sbin/php-fpm –t
####
/usr/local/lnmp/php/sbin/php-fpm
####
ps -ef | grep php-fpm
####
cp /root/php-7.2.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
####
chmod +x /etc/init.d/php-fpm
#### php-fpm
chkconfig --add php-fpm
####
chkconfig php-fpm on
####
service php-fpm restart
service php-fpm stop
service php-fpm start
6.redis拡張のインストール
#### root
cd /root
#### redis
wget http://pecl.php.net/get/redis-4.1.1.tgz
####
tar -xf redis-4.1.1.tgz
#### redis
cd redis-4.1.1
#### phpize
find / -name phpize
#### phpize configure
/usr/local/lnmp/php/bin/phpize
####
./configure --with-php-config=/usr/local/lnmp/php/bin/php-config
####
make
####
make install
####
Installing shared extensions: /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20170718/
#### php.ini
vim /usr/local/lnmp/php/lib/php.ini
#### redis 47%
extension=redis.so
#### php-fpm phpinfo