centos で php-fpm をコンパイルしてインストールする方法: 最初に「yum install wget vim」を通じて依存ソフトウェアをインストールし、次に php 依存関係をインストールし、次に「php.ini-production」を構成ファイル ディレクトリにコピーします。コンパイル時に指定した; 最後に PHP のバージョンを確認します。
推奨: 「PHP ビデオ チュートリアル 」
PHP5.4.45 を CentOS7 にコンパイルしてインストールし、コンパイルします。 php -fpm
システム環境
uname -a Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) date Fri Feb 2 22:12:58 CST 2018
必要なファイル
ソースコード
PHP: http://sg2.php.net/distributions / php-5.4.45.tar.gz
コンパイル環境
gcc
依存関係: cpp、glibc-devel、glibc-headers、kernel-headers、libmpc、mpfr
コンパニオンのアップグレード: glibc、glibc-common、libgcc、libgomp
gcc-c
依存関係: libstdc -devel
コンパニオンのアップグレード: libstdc
yum install gcc gcc-c
依存ソフトウェア
yum install wget vim
wgetはダウンロードに使用され、vimはファイルの編集に便利です
必要なヘッダー ファイルのコンパイルとインストール入手方法は、コンパイル時に必要なファイルが含まれる対応する開発パッケージをyum経由でインストールする方法と、必要なソースコードパッケージをダウンロードして解凍し、ファイルの場所はそのままで十分です。
インストールの開始
php 依存関係のインストール
ここでは yum を使用してインストールします。ソースコードパッケージを使用します。ソース コードを使用する場合は、yum に対応するバージョンを選択するのが最善です。そうしないと、互換性の問題が発生する可能性があります。
ソース コードのダウンロード場所: http://vault.centos.org/centos/7/os/Source/SPackages/
yum install libxml2-devel #2.9.1 yum install openssl openssl-devel #1.0.2k yum install bzip2 bzip2-devel #1.0.6 yum install curl curl-devel #7.29.0 yum install libjpeg libjpeg-devel #libjpeg-turbo-1.2.90 yum install libpng libpng-devel #1.5.13 yum install libxslt libxslt-devel #1.1.28 yum install freetype freetype-devel #2.4.11 yum install gmp gmp-devel #6.0.0 yum install icu libicu-devel #50.1.2 yum install -y epel-release && yum install -y libmcrypt libmcrypt-devel #2.5.8该包CentOS默认源中没有,所以使用epel的源 yum install unixODBC unixODBC-devel #2.3.1
以下はインストールによって異なります。一度インストールする
gettext #0.18.2.1 zlib #1.2.7 pcre #8.32 libpng #1.5.13
ソース コード方式を使用する場合、機能の整合性を確保するには、次のパッケージをインストールする必要があります:
yum install libxml2 openssl bzip2 curl libjpeg freetype gmp icu libicu libmcrypt unixODBC gettext zlib pcre libpng
インストール php
php:
wget http://sg2.php.net/distributions/php-5.4.45.tar.gz tar zxvf php-5.4.45.tar.gz cd php-5.4.45 ./configure \ --prefix=/opt/web_engine/php \ --with-config-file-path=/opt/web_engine/php/etc \ --with-gettext \ --with-gmp \ --with-mysql \ --with-openssl \ --with-pdo-mysql \ --with-bz2 \ --with-curl \ --with-mcrypt \ --with-mhash \ --with-freetype-dir \ --with-unixODBC=/usr/ \ --with-pdo-odbc=unixODBC,/usr/ \ --with-libxml-dir \ --with-zlib \ --with-pcre-dir \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-xmlrpc \ --with-libxml-dir \ --with-xsl \ --enable-soap \ --enable-sysvmsg \ --enable-wddx \ --enable-zip \ --enable-exif \ --enable-intl \ --enable-bcmath \ --enable-calendar \ --enable-mbstring \ --enable-shmop \ --enable-fpm \ --enable-sockets make && make install Installing PHP CLI binary: /opt/web_engine/php/bin/ Installing PHP CLI man page: /opt/web_engine/php/php/man/man1/ Installing PHP FPM binary: /opt/web_engine/php/sbin/ Installing PHP FPM config: /opt/web_engine/php/etc/ Installing PHP FPM man page: /opt/web_engine/php/php/man/man8/ Installing PHP FPM status page: /opt/web_engine/php/php/fpm/ Installing PHP CGI binary: /opt/web_engine/php/bin/ Installing PHP CGI man page: /opt/web_engine/php/php/man/man1/ Installing build environment: /opt/web_engine/php/lib/php/build/ Installing header files: /opt/web_engine/php/include/php/ Installing helper programs: /opt/web_engine/php/bin/ program: phpize program: php-config Installing man pages: /opt/web_engine/php/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /opt/web_engine/php/lib/php/ [PEAR] Archive_Tar - installed: 1.3.12 [PEAR] Console_Getopt - installed: 1.3.1 [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.3 [PEAR] PEAR - installed: 1.9.5 Wrote PEAR system config file at: /opt/web_engine/php/etc/pear.conf You may want to add: /opt/web_engine/php/lib/php to your php.ini include_path /root/php-5.4.45/build/shtool install -c ext/phar/phar.phar /opt/web_engine/php/bin ln -s -f /opt/web_engine/php/bin/phar.phar /opt/web_engine/php/bin/phar Installing PDO headers: /opt/web_engine/php/include/php/ext/pdo/
フォローアップ作業
ソース ディレクトリにある php.ini-production をコンパイル時に指定した設定ファイル ディレクトリにコピーします
cp /root/php-5.4.45/php.ini-production /opt/web_engine/php/etc cd /opt/web_engine/php/etc && cp php.ini-production php.ini cd /opt/web_engine/php/etc && cp php-fpm.conf.default php-fpm.conf
さらに、 php 拡張機能が定義されています。拡張機能をインストールしてください。
PHP バージョンを確認してください。
/opt/web_engine/php/bin/php -v PHP 5.4.45 (cli) (built: Feb 2 2018 15:44:07) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
詳細を表示します。
/opt/web_engine/php/bin/php -i
...
systemd 構成
vim /usr/lib/systemd/system/php-fpm.service [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/opt/web_engine/php/var/run/php-fpm.pid ExecStart=/opt/web_engine/php/sbin/php-fpm --nodaemonize --fpm-config /opt/web_engine/php/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPIDe [Install] WantedBy=multi-user.target
ログ ローテーション
vim /etc/logrotate.d/php-fpm /var/log/php-fpm/*.log { su root root daily missingok rotate 52 compress delaycompress notifempty olddir /var/log/php-fpm/archive #create 640 nginx adm sharedscripts postrotate /bin/kill -SIGUSR1 `cat /opt/web_engine/php/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true endscript }
以上がphp-fpm を centos にコンパイルしてインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。