1. 程式人生 > >Centos 6.9 編譯安裝 apache 2.4+php7.2.3 + Fast-cgi

Centos 6.9 編譯安裝 apache 2.4+php7.2.3 + Fast-cgi

apache 2.4+php7.2. php7.2.3 + Fast-cgi

1. 編譯安裝apache 2.4

參考Centos 6.9 apahce 2.4.29編譯安裝

2. PHP官網下載Stable版本

http://php.net/downloads.php

#curl -O http://cn2.php.net/distributions/php-7.2.3.tar.bz2

3.安裝依賴包

有個別包需要EPEL源,可提前配置好Aliyun的Yum源

#yum install bzip2-devel libxml2-devel libmcrypt-devel

註意:php-7.0以上版本使用--enable-mysqlnd --withmysqli=mysqlnd ,原--with-mysql不再支持

4.編譯安裝

在編譯之前,了解一下表中的內容,特別是連接mysql的api方法

技術分享圖片

編譯參數

#cd php-7.2.3

./configure --prefix=/usr/local/php-7.2.3 --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo

編譯與安裝

# make -j 8
出現Build complete. 那麽,恭喜編譯成功

# make install

創建一個軟鏈接,方便管理版本

#ln -s php-7.2.3/ php

5.復制php配置文件

註意,這些文件是在源碼目錄裏
# cp php.ini-production /etc/php.ini
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm

6.修改php-fpm啟動腳本

# vim /etc/rc.d/init.d/php-fpm

prefix=/usr/local/php   > 把這行修改為指定的編譯路徑

7.生成php-fpm配置文件

# sed -ri.bak s#php-7.2.3#php#g /usr/local/php/etc/php-fpm.conf.default
# mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

8.添加php-fpm為啟動服務

# chkconfig --add php-fpm
# chkconfig php-fpm

9.配置httpd支持php

# vim /etc/httpd2.4/httpd.conf
確保以下2條取消註釋
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

# 如果使用的是虛擬主機形式,把下面4行添加到主機標簽中
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/www/virtualhost/$1

其中/app/www/virtualhost指的是站點文件目錄

例子:

<VirtualHost *:80>
    DocumentRoot "/app/www/virtualhost"
    ServerName www.hunk.tech
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/www/virtualhost/$1

        <IfModule dir_module>
                DirectoryIndex index.php index.html
        </IfModule>

        <Directory "/app/www/virtualhost">
                AllowOverride None
                Options None
                Require all granted
        </Directory>

</VirtualHost>

10.測試php

#ss -nlt
fcgi正在監聽端口
State      Recv-Q Send-Q                                           Local Address:Port 
LISTEN     0      128                                                  127.0.0.1:9000 

編輯一個php的測試文件
#vim /app/www/virtualhost/index.php

<?php
  phpinfo();
?>

技術分享圖片

技術分享圖片

Centos 6.9 編譯安裝 apache 2.4+php7.2.3 + Fast-cgi