這篇文章給大家介紹如何實現(xiàn)CentOS與Apache連接的PHP多版本共存,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在廣信等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),廣信網(wǎng)站建設(shè)費用合理。
CentOS下與Apache連接的PHP多版本共存方案實現(xiàn),針對mod_fcgi模塊的配置作了一些說明。
在apache下整合fastCGI模式運行的php-fpm,似乎網(wǎng)上很少相關(guān)材料,就連英文版材料也少。只要是php-fpm,基本上都是與nginx搭配。查了一大批相關(guān)資料,寫本文總結(jié)一下。
apache下有多個fastCGI的支持方案:至少有mod_fcgi、mod_fastcgi(git)、mod_proxy_fcgi等。這兩個模塊都有點老,尤其mod_fastcgi自從2007年以來就沒有更新,略掉不談,事實上沒用過用。mod_proxy_fcgi模塊是httpd 2.4+的版本正式引入,通過簡潔的一行 ProxyPassMatch 指令即可。
mod_fcgi
mod_fcgi模塊本身是做fastCGI進程管理的,使用它就不需要使用php-fpm管理進程了。核心配置參數(shù)
LoadModule fcgid_module modules/mod_fcgid.so
幾個Fcgid*指令,是優(yōu)化之用,這里僅示例,要按實際情況調(diào)整數(shù)值。具體參看mod_fcgi官方文檔
使用mod_fcgid的幾個特點
php-fgi進程是由apache模塊啟動并管理,不需要配置php-fpm
在php-cig進程以apache用戶身份運行,php程序?qū)懙奈募錂?quán)限為apache用戶(而不像php-fpm下寫文件為php-fpm用戶所有,默認是nobody),這樣在目錄權(quán)限管理方面一致性高些。
mod_fastcgi
雖然CentOS 6.x下是apache 2.2,但所幸已經(jīng)有人成功移植: https://github.com/ceph/mod-proxy-fcgi 我們可以直接使用;更幸運的是它已經(jīng)進入epel源,直接yum安裝即可;不想匹配epel源的,直接下載rpm包安裝也可以(示例 http://mirrors.ustc.edu.cn/epel/6/x86_64/)
當然可以重新編譯安裝apache 2.4, 這樣直接有mod_proxy_fcgi可以使用,但這里還是保持原版本不變,省掉編譯的工作量。
參考mod_proxy_fcgi官方文檔,整合php-fpm的配置指令
ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/http://www.bbqmw.net/qm_zyqm/"
語法很簡單,跟配置反向代理類似,可以按實際需要做修改。事實上與mod_proxy模塊語法一致的,不同處是將http協(xié)議改成fcig協(xié)議。
以上是apache整合php-fpm模式運行的fastCGI,接下來要對yum安裝的php做下配置修改。
yum安裝的php配置文件 /etc/httpd/conf.d/php.conf ,其中有如下一行
AddHandler php5-script .php
我們要對不同的站點啟用不同的php,上面一行是對全局的.php文件分配給php模塊處理,我們把這一行注釋掉。而是在每個站點啟用不同的php運行模式。
關(guān)于如何實現(xiàn)CentOS與Apache連接的PHP多版本共存就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。