作為一名web開發(fā)者,大家都知道,我們經(jīng)常使用PHP來創(chuàng)建動態(tài)web頁面,為了達(dá)到這個目的,我們需要使用一個服務(wù)器軟件,名為Apache HTTP Server(通常簡稱Apache)。然而,Apache本身并不能處理PHP腳本。為了能夠在Apache中能夠運(yùn)行PHP,我們需要在Apache中整合PHP,并且告訴Apache如何處理PHP腳本。
常見的為Apache配置PHP的方法有CGI、FastCGI,但兩種方式都比較麻煩,不僅需要手動配置,還需要管理CGI/FastCGI服務(wù)器。好在,有一個更為簡單、高效的方式:使用PHP的模塊方式在Apache中整合PHP。
使用模塊方式在Apache中整合PHP,實際上就是利用Apache的一個模塊——mod_php。有些Linux系統(tǒng)中,mod_php被分發(fā)為獨(dú)立的包,不過大多數(shù)情況下,我們不需要單獨(dú)安裝mod_php,因為許多Linux包管理器(比如rpm和apt-get)通常會自動處理這個問題。
在Apache中啟用mod_php模塊很簡單,只需要編輯一下httpd.conf文件即可。在httpd.conf的標(biāo)簽內(nèi)添加以下代碼:
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
注意,這里假設(shè)我們安裝了PHP7,并且PHP所生成的php模塊是libphp7.so。如果您使用的是PHP5,請將php7改為php5。
如果您不知道libphp7.so在哪里,可以使用下面的命令查找:sudo find / -name libphp7.so
這個命令會在整個文件系統(tǒng)中查找名稱為libphp7.so的文件。如果找不到,可能是您沒有安裝PHP或者PHP的模塊沒有產(chǎn)生出來。如果您使用的是Debian或Ubuntu Linux,可以使用以下命令安裝:sudo apt-get install php libapache2-mod-php
安裝完成后,重啟Apache即可使以上修改生效:sudo systemctl restart apache2
注意,這里假設(shè)您正在使用systemd管理器來啟動/停止Apache服務(wù),如果您使用的是其他系統(tǒng),可能需要使用不同的命令進(jìn)行Apache重啟。