centos 7コンパイルインストールphp 7.2.10(nginxサーバおよびredis拡張インストール)


1.インストール依存
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