Linux-CentOS6.9 PHP 7を取り付ける.2

15127 ワード

Linux-CentOS6.9 PHP 7を取り付ける.2
sudo -s

インストール依存
PHP 5は既に実装.6時にインストールされましたが、ここにはリストされていません.Linux-CentOS 6を見ることをお勧めします.9 PHP 5を取り付ける.6、依存部分をインストールし、PHPに必要な依存ライブラリをインストールする.
yum groupinstall "Development Tools"
yum install libxml2-devel openssl-devel libcurl-devel gd-devel gmp-devel libicu-devel recode recode-devel libxslt libxslt-devel

PHP-7.2を取り付ける.6
公式サイトはphp-7.2を手動でダウンロードします.6.tar.gz
cd /data0/software

tar zxvf php-7.2.6.tar.gz
cd php-7.2.6/

./configure \
--prefix=/usr/local/php72 \
--with-config-file-path=/usr/local/php72/etc \
--disable-debug \
--disable-phpdbg \
--enable-mysqlnd \
--enable-bcmath \
--with-bz2=/usr \
--enable-calendar \
--with-curl \
--enable-exif \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-freetype-dir \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--with-gettext=/usr \
--with-gmp \
--with-iconv \
--with-iconv-dir=/usr/local/libiconv \
--enable-intl \
--with-jpeg-dir \
--enable-mbstring \
--with-openssl \
--with-mhash \
--enable-pcntl \
--with-pdo-mysql=mysqlnd \
--with-png-dir \
--with-recode \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-xmlrpc \
--with-xsl \
--with-zlib=/usr \
--enable-zip \
--with-libxml-dir=/usr \
--enable-xml \
--with-mysqli=mysqlnd \
--enable-fileinfo \
--enable-opcache \
--with-libdir=lib64 \
--enable-maintainer-zts


# --enable-opcache            # PHP7.2     PHP7.1      opcache
# --with-libdir=lib64         # 64       lib64 32       
# --enable-maintainer-zts     # ZTS     ,   NTS      

# make clean   #                    

make
make install

cp php.ini-development /usr/local/php72/etc/php.ini

phpを変更します.ini構成
vim/usr/local/php72/etc/php.ini
#    ;cgi.fix_pathinfo=1    
cgi.fix_pathinfo=0

#    ;date.timezone =    
date.timezone = PRC

バージョンの表示
/usr/local/php72/bin/php -v

PHP 7.2.6 (cli) (built: Jun  7 2018 11:08:13) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

php-fpmの構成
php-fpmプロファイルの変更
cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf

vi /usr/local/php72/etc/php-fpm.conf

#    ;pid = run/php-fpm.pid    

pid = /usr/local/php72/var/run/php-fpm.pid

www.confの修正
cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf
vi /usr/local/php72/etc/php-fpm.d/www.conf

user = www
group = www


#    listen = 127.0.0.1:9000     php5     9000           

listen = 127.0.0.1:9001

php-fpm起動スクリプトをシステムサービス設定起動に登録する
cp /data0/software/php-7.2.6/sapi/fpm/php-fpm /usr/local/php72/bin
cp /data0/software/php-7.2.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm72

/etc/init.d/php-fpm 72から始まる注釈部分php-fpmをphp-fpm 72に変更する注釈であるが、Linuxの下でシステムサービス要求のフォーマットを登録する.システムサービスに登録しなければ変更する必要はありません.
vi /etc/init.d/php-fpm72

#! /bin/sh

### BEGIN INIT INFO
# Provides:          php-fpm72
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts php-fpm72
# Description:       starts the PHP FastCGI Process Manager daemon
### END INIT INFO

実行可能権限の付与
chmod +x /etc/init.d/php-fpm72

php-fpm 72をサービスリストに追加し、POSTを設定します.
chkconfig --add php-fpm72
chkconfig --list php-fpm72
chkconfig php-fpm72 on

php-fpm 72いくつかのパラメータstart|stop|force-quit|restart|reload|status|configtest
service php-fpm72 start       #     
service php-fpm72 stop        #     
service php-fpm72 restart     #     
service php-fpm72 reload      #       
service php-fpm72 force-quit  #       
service php-fpm72 status      #       
service php-fpm72 configtest  #     

php-fpm 72サービスの開始
service php-fpm72 configtest   #                   

# [07-Jun-2018 11:53:45] NOTICE: configuration file /usr/local/php72/etc/php-fpm.conf test is successful

service php-fpm72 start        #   

# Starting php-fpm  done     

php-frmプロセスの表示php-fpm 72バージョンと以前のphp-fpm 56バージョン
ps -ef |grep php

root      1805     1  0 09:48 ?        00:00:00 php-fpm: master process (/usr/local/php56/etc/php-fpm.conf)                                                                                        
nobody    1806  1805  0 09:48 ?        00:00:00 php-fpm: pool www                                                                                                                                          
nobody    1807  1805  0 09:48 ?        00:00:00 php-fpm: pool www                                                                                                                                          
root     31580     1  0 11:54 ?        00:00:00 php-fpm: master process (/usr/local/php72/etc/php-fpm.conf)                                                                        
www      31581 31580  0 11:54 ?        00:00:00 php-fpm: pool www                                                                                                                  
www      31582 31580  0 11:54 ?        00:00:00 php-fpm: pool www                                                                                                                  
root     31585  3311  0 11:54 pts/1    00:00:00 grep php

Nginx新規server
新しいWebサイトの目次
mkdir -p /data0/vhosts/php72
chmod +w /data0/vhosts/php72
chown -R www:www /data0/vhosts/php72

nginxを変更します.conf構成新規server
vi nginx.conf
server
{
    listen       80;
    server_name  dev.php72.gocuber.com;
    index index.html index.htm index.php;
    root  /data0/vhosts/php72;

    location ~* \.php$ {
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9001;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }

    access_log  /data0/logs/wwwlogs.log  wwwlogs;
}

nginx構成のスムーズ再起動nginxの確認
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

/data 0/vhosts/php 72新規phpinfo.php index.php
phpinfo();

アクセスhttp://dev.php72.gocuber.com/phpinfo.php
公式インストールの説明ページの一番下によくある問題と解決方法がリストされています.http://php.net/manual/zh/install.unix.nginx.php
公式configureオプションリストの説明http://php.net/manual/zh/configure.about.php