本文在介紹安裝php環(huán)境前,已安裝了nginx、mysql。
一、安裝
使用國內(nèi)的搜狐鏡像站下載php5.6安裝包,執(zhí)行:
wget http://mirrors.sohu.com/php/php-5.6.2.tar.gz
安裝之前,先安裝php5.6編譯時所依賴的軟件包。如下:
yum -y install gcc gcc-c++ libxml2 libxml2-devel
接下來解壓安裝php5.6,先執(zhí)行解壓:
tar -xf php-5.6.2.tar.gz
接著進入php5.6的解壓目錄,現(xiàn)在開始配置php5.6,使用如下命令:
cd php-5.6.2
上述命令中--enable-fpm的作用是開啟php的fastcgi功能即開啟php-fpm功能,–with-mysql=/usr/local/mysql是啟用php支持mysql的功能,/usr/local/mysql是mysql數(shù)據(jù)庫的安裝路徑,注意這里如果報以下錯誤:
報錯configure: error: Cannot find MySQL header files under /usr/local/mysql,可以嘗試以下解決方案:
--with-mysql=/usr/local/mysql,
把它改為
--with-mysql或--with-mysql=/usr
–enable-mbstring表示啟用mbstring模塊mbstring模塊的主要作用在于檢測和轉(zhuǎn)換編碼,提供對應(yīng)的多字節(jié)操作的字符串函數(shù)。目前php內(nèi)部的編碼只支持ISO-8859-*、EUC-JP、UTF-8,其他的編碼的語言是沒辦法在php程序上正確顯示的,所以我們要啟用mbstring模塊。
這步操作成功后,就會看到以下界面:
接下來編譯安裝,先執(zhí)行make命令,成功后看到以下界面:
再執(zhí)行make install命令就可以了,此時可以使用php –v查看安裝成功后的版本信息。
二、配置
安裝成功后接下來做基本的配置操作,通過上面安裝完后,在/usr/local/lib目錄下是沒有php.ini文件的。在這先復(fù)制php安裝文件提供的模版,如下:
cp php.ini-production /usr/local/lib/php.ini
此時服務(wù)器環(huán)境的nginx還是不支持php的,要通過fastcgi來處理有關(guān)php的請求。而php需要php-fpm這個組件來支持,這個就是前邊配置php時使用到的那個命令--enable-fpm。
php-fpm功能開啟后,還需要配置php-fpm。其實php-fpm的配置文件在安裝php時,已經(jīng)為我們提供了一個配置文件的模版。該模版為/usr/local/etc/php-fpm.conf.default,要復(fù)制一份該文件,并重命名為php-fpm.conf,如下:
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
為了讓php-fpm已服務(wù)的形式啟動。我們需要復(fù)制php安裝目錄下/sapi/fpm/init.d.php-fpm文件。如下:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
此時php-fpm文件是沒有執(zhí)行權(quán)限的,賦予php-fpm執(zhí)行權(quán)限,并啟動php-fpm,執(zhí)行如下命令:
chmod a+x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
啟動后查看:
9000端口是php-fpm默認監(jiān)聽端口。
接下來配置nginx,使其支持php,如下:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
接著在nginx的網(wǎng)站根目錄新建一文件index.php(/usr/local/nginx/html/index.php),內(nèi)容如下:
再到/usr/local/nginx/sbin/目錄下,執(zhí)行./nginx啟動nginx,再在瀏覽器輸入服務(wù)器ip/index.php,如果看到如下信息則證明已安裝啟動成功: