centos編譯安裝php-fpm的方法:首先通過(guò)“yum install wget vim”安裝依賴(lài)軟件;然后安裝php依賴(lài);接著拷貝“php.ini-production”到編譯時(shí)指定的配置文件目錄;最后檢查PHP版本即可。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供德清網(wǎng)站建設(shè)、德清做網(wǎng)站、德清網(wǎng)站設(shè)計(jì)、德清網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、德清企業(yè)網(wǎng)站模板建站服務(wù),十年德清做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
推薦:《PHP視頻教程》
CentOS7下編譯安裝PHP5.4.45并編譯php-fpm
系統(tǒng)環(huán)境
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
編譯環(huán)境
gcc
依賴(lài):cpp、glibc-devel、glibc-headers、kernel-headers、libmpc、mpfr
伴隨升級(jí):glibc、glibc-common、libgcc、libgomp
gcc-c++
依賴(lài):libstdc++-devel
伴隨升級(jí):libstdc++
yum install gcc gcc-c++
依賴(lài)軟件
yum install wget vim
wget用于下載,vim方便編輯文件
編譯安裝需要對(duì)應(yīng)功能的頭文件,頭文件的獲得方式有兩個(gè)方式,一個(gè)是通過(guò)yum安裝對(duì)應(yīng)的devel包,里面就包含了編譯過(guò)程中所需要文件;另外一種方式就是下載需要的源碼包,并且解壓縮,然后在configue中指定源文件位置即可。
開(kāi)始安裝
安裝php依賴(lài)
這里使用yum進(jìn)行安裝,當(dāng)然,也可以選擇使用源碼包。使用源碼時(shí),最好選擇與yum相對(duì)應(yīng)的版本,否則可能會(huì)不現(xiàn)兼容性問(wèn)題。
源碼下載位置: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默認(rèn)源中沒(méi)有,所以使用epel的源 yum install unixODBC unixODBC-devel #2.3.1
下面這些會(huì)依賴(lài)安裝,如不確定也可手動(dòng)再安裝一次
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/
后續(xù)工作
拷貝源碼目錄下的php.ini-production到編譯時(shí)指定的配置文件目錄
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擴(kuò)展,則安裝擴(kuò)展
檢查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
查看詳細(xì)信息
/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 }