php5.6源碼安裝及php-fpm配置與nginx集成

LNMP環境的搭建中,如今只有php沒有源碼安裝過。這篇文章就把這個介紹下。php

注意本篇文章使用的centos 6.5 64bit。html

登錄centos下載php5.6的安裝包。php的軟件包能夠去國內的souhu鏡像站點去下載。mysql

wget http://mirrors.sohu.com/php/php-5.6.2.tar.gznginx

clip_image001[4]

在安裝以前,咱們須要安裝php5.6編譯時所依賴的軟件包。以下:c++

yum -y install gcc gcc-c++ libxml2 libxml2-develsql

clip_image002[4]

clip_image003[4]

以上軟件包安裝完畢後,咱們如今來解壓剛剛下載的php5.6源碼包。使用以下命令:數據庫

tar -xf php-5.6.2.tar.gzcentos

clip_image004[4]

進入php5.6的解壓目錄,如今開始配置php5.6,使用以下命令:api

cd php-5.6.2app

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --with-iconv-dir --with-freetype-dir=/data/apps/libs --with-jpeg-dir=/data/apps/libs --with-png-dir=/data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts --with-libdir=lib64

clip_image005[4]

若是沒有錯誤的狀況下,配置完畢後。系統會出現以下的提示信息:

clip_image006[4]

注意上述命令中--enable-fpm的做用是開啓php的fastcgi功能即開啓php-fpm功能,--with-mysql=/usr/local/mysql是啓用php支持mysql的功能,/usr/local/mysql是mysql數據庫的安裝路徑。

--enable-mbstring表示啓用mbstring模塊mbstring模塊的主要做用在於檢測和轉換編碼,提供對應的多字節操做的字符串函數。目前php內部的編碼只支持ISO-8859-*、EUC-JP、UTF-8,其餘的編碼的語言是沒辦法在php程序上正確顯示的,因此咱們要啓用mbstring模塊。

同時咱們也只是簡單的開啓和擴展php的一部分功能,其餘須要的功能,請自行添加。

配置完畢後,咱們如今來編譯php,使用make命令,以下:

make

clip_image007[4]

php編譯的時間比較長,根據機器的性能不一樣須要等待10-20分鐘左右。編譯完畢後的截圖,以下:

clip_image008[4]

編譯完畢後,咱們如今開始安裝php,使用以下命令:

make install

clip_image009[4]

安裝完畢後,咱們能夠經過php –v命令查看是否安裝成功。以下:

php –v

clip_image010[4]

經過這樣安裝完畢後,你會發如今/usr/local/lib目錄下沒有php.ini文件。在這咱們就先複製php安裝文件提供的模版,以下:

cp php.ini-production /usr/local/lib/php.ini

clip_image011[4]

注意php.ini文件通常在/usr/local/lib/和/etc目錄下。有關php安裝完畢後,沒有php.ini文件的,咱們再另一篇文章再介紹。

不要覺得到這php的安裝就完畢了,LNMP環境中的nginx是不支持php的,須要經過fastcgi來處理有關php的請求。而php須要php-fpm這個組件來支持。

在php5.3.3之前的版本php-fpm是以一個補丁包的形式存在的,而php5.3.3之後的php-fpm只須要在安裝php-fpm開啓這個功能便可。這個也就是前邊,咱們再配置php使用到的那個命令--enable-fpm。

php-fpm功能開啓後,咱們還須要配置php-fpm。其實php-fpm的配置文件在安裝php時,已經爲咱們提供了一個配置文件的模版。該模版爲/usr/local/etc/php-fpm.conf.default,以下:

more /usr/local/etc/php-fpm.conf.default

clip_image012[4]

咱們如今只須要複製一份該文件,並重命名爲php-fpm.conf,以下:

cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

clip_image013[4]

爲了讓php-fpm已服務的形式啓動。咱們須要複製php安裝目錄下/sapi/fpm/init.d.php-fpm文件。以下:

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

clip_image014[4]

經過上圖,咱們也能夠很清楚的看到php-fpm文件目前沒有執行權限。賦予php-fpm執行權限,並啓動php-fpm,以下:

chmod a+x /etc/init.d/php-fpm

/etc/init.d/php-fpm start

netstat -tunlp |grep 9000

clip_image015[4]

經過上圖,咱們能夠很明顯的看到php-fpm已經正常啓動。

注意php-fpm默認監聽的是9000端口。

如今再來配置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;

}

clip_image016[4]

而後在nginx的網站根目錄下新建index.php文件內容以下:

vi /usr/local/nginx/html/index.php

<?php phpinfo(); ?>

clip_image017[4]

如今來啓動nginx,以下:

/usr/local/nginx/sbin/nginx

netstat -tunlp |grep 80

clip_image018[4]

nginx啓動完畢後,如今來訪問網站,以下:

clip_image019[4]

clip_image020[4]

經過上圖,咱們能夠很明顯的看到。php目前已經安裝成功,而且也成功的支持mysql數據庫。同時也與nginx集成完畢。

至此。咱們的php5.6的安裝到此結束。

相關文章
相關標籤/搜索