Centos 6.9 編譯安裝 apache 2.4+php7.2.3 + Fast-cgi
阿新 • • 發佈:2018-03-05
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