apache對php的支持是通過apache的mod_php5模塊來支持的,這點與nginx不同。nginx是通過第三方的fastcgi處理器才可以對php進行解析。
如果源碼編譯安裝php的話,需要在編譯時指定--with-apxs2=/usr/local/apache2/bin/apxs表示告訴編譯器通過apache的mod_php5模塊來提供對php的解析。
同時php安裝的最后一步make install時,我們會看到將動態鏈接庫libphp5.so拷貝到apache2的安裝目錄的modules目錄下,并且還需要在httpd.conf配置文件中添加LoadModule語句來動態將libphp5.so模塊加載進來,從而實現Apache對php的支持。
php與apache集成需要以下幾個步驟:
1、安裝libiconv庫
2、php源碼安裝
3、配置apache使其支持php
4、測試php
一、安裝libiconv庫
libiconv庫為需要做轉換的應用程序提供了一個iconv命令,以實現一個字符編碼到另一個字符編碼的轉換,比如它可以將UTF8編碼轉換成GB18030編碼,反過來也行。
php與apache集成時一定要安裝libiconv庫,否則在make時系統會報錯。報錯信息如下:
make: *** [sapi/cli/php] Error 1
/usr/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
現在開始正式安裝libiconv庫,首先下載libiconv庫,如下:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
解壓libiconv庫,如下:
tar -xf libiconv-1.14.tar.gz
安裝libiconv庫,首先查看安裝幫助信息。如下:
./configure --help
通過上圖的幫助,我們可以看到libiconv庫默認的安裝路徑為/usr/local。現在開始安裝libiconv庫,如下:
./configure --prefix=/usr/local
make && make install
libiconv庫安裝完畢后,建議把/usr/local/lib庫加入到到/etc/ld.so.conf文件中,然后使用/sbin/ldconfig使其生效。如下:
echo "/usr/local/lib">>/etc/ld.so.conf
/sbin/ldconfig
如果沒有進行此步操作的話,在安裝php執行make install,系統就會報錯。報錯信息如下:
/root/php-5.6.2/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
二、php源碼安裝
下載并編譯php命令如下:
新聞熱點
疑難解答