新聞中心

雖然“新事物取代舊事物”是必然趨勢(shì),但就目前來(lái)說(shuō),PHP 7 版本還是太新了,很多企業(yè)的網(wǎng)站不一定兼容。因此,本節(jié)安裝的 PHP 版本為 5.4。接下來(lái),就一起來(lái)學(xué)習(xí)如何在 linux 系統(tǒng)中安裝 PHP 源碼包,具體步驟如下。
1) 安裝libtool和libtool-ltdl
[root@localhost mysql]# yum -y install "libtool*"
[root@localhost mysql]# yum -y install "libtool-ltdl*"
2) 手工修改gd庫(kù)文件
PHP 5.4 也有一些 Bug,在檢測(cè) gd 庫(kù)時(shí)會(huì)報(bào)錯(cuò),需要我們手工修改。命令如下:
[root@localhost mysql]# vi /usr/local/gd2/include/gd_io.h
#修改gd_io.h頭文件
typedef struct gdIOCtx
{
…
void (*data);
#在此程序段中加入此句
}
3) 編譯安裝 PHP 源碼包
命令如下:
[root@localhost mysql]# cd /usr/local/src/ php-5.4.25
[root@localhost php-5.4.25]# ./configure \ #編譯前配置
--prefix=/usr/local/php/ \ #指定安裝位置
--with-config-file-path=/usr/local/php/etc/ \ #指定PHP配置文件位置
--with-apxs2=/usr/local/apache2/bin/apxs \ #調(diào)用apache2
--with-mysql=/usr/local/mysql/ \ #調(diào)用mysql
--with-libxml-dir=/usr/local/libxml2/ \ #調(diào)用libxml2庫(kù)
--with-jpeg-dir=/usr/local/jpeg6/ \ #調(diào)用jpeg庫(kù)
--with-png-dir=/usr/local/libpng/ \ #調(diào)用libpng庫(kù)
--with-freetype-dir=/usr/local/freetype/ \ #調(diào)用freetype庫(kù)
--with-gd=/usr/local/gd2/ \ #調(diào)用gd庫(kù)
--with-mcrypt=/usr/local/libmcrypt/ \ #調(diào)用libmcrypt庫(kù)
--with-mysqli=/usr/local/mysql/bin/mysql_config \#增加MysqlLi功能
--enable-soap \ #支持SOAP和Web Services
--enable-mbstring=all \ #支持多字節(jié)字符串
--enable-sockets #支持socket(套接字)通信
--with-pdo-mysql=/usr/local/mysql #啟用mysql的pdo模塊支持
[root@localhost php-5.4.25]# make
#編譯
[root@localhost php-5.4.25]# make install
#編譯安裝
4) 建立PHP配置文件
和 MySQL 一樣,這個(gè)配置文件不用手工建立,也是有模板文件的,我們只需復(fù)制即可。命令如下:
[root@localhost php-5.4.25]# cp /usr/local/src/ php-5.4.25/php.ini-production
/usr/local/php/etc/php.ini
5) 讓apache可以識(shí)別“.php”擴(kuò)展名
在安裝 PHP 時(shí),在 ./configure 命令中使用 --with-apxs2=/usr/local/apache2/bin/apxs 選項(xiàng),已經(jīng)把 PHP 作為模塊被 apache 識(shí)別了。不過(guò),apache 并不知道哪些擴(kuò)展名的文件要調(diào)用 PHP 模塊來(lái)解析(如果是 apache 不認(rèn)識(shí)的擴(kuò)展名,那么客戶端在訪問(wèn)時(shí),apache 不會(huì)嘗試解析,而是提示客戶端下載),所以我們需要修改 apache 的配置文件,讓 apache 可以認(rèn)識(shí) PHP 腳本的擴(kuò)展名。
比如,我們想讓 apache 在遇到“.php”和“.phps”擴(kuò)展名時(shí),調(diào)用 PHP 模塊來(lái)解析這些文件的內(nèi)容,那么我們只需要執(zhí)行如下命令:
[root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
#修改apache配置文件,加入如下內(nèi)容
AddType application/x-httpd-php.php.phps
#這句話的意思是:如果遇到.php和.phps擴(kuò)展名,則調(diào)用PHP模塊來(lái)解析這個(gè)文件的內(nèi)容
這句話加載在 apache 配置文件中的任何位置都是可以的,不過(guò)系統(tǒng)中有類似的語(yǔ)句 AddType application/x-gzip.gz.tgz,那么我們一般將其加載到這句話后面。命令如下:
[root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
…省略部分輸出…
# If the AddEncoding directives above are commented-out, then you probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phps #加載到此位置
…省略部分輸出…
至于 PHP 文件的擴(kuò)展名,可以自由定義。
6) 重啟Apache服務(wù)器
我們修改了 apache 的配置文件,如果想讓這個(gè)修改生效,那么必須重啟 Apache 服務(wù)器。重啟命令如下:
[root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl stop
[root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl start
這里最好不要使用 restart 參數(shù),因?yàn)閷?duì)于源碼包的 apache 啟動(dòng)命令,restart 參數(shù)有時(shí)會(huì)不起作用。
7) 測(cè)試PHP環(huán)境是否正常
對(duì)源碼包安裝的 apache 來(lái)講,網(wǎng)頁(yè)的默認(rèn)保存位置是 /usr/local/apache2/htdocs/ 目錄。為了測(cè)試 PHP 環(huán)境是否正常,我們需要在這個(gè)目錄中建立一個(gè) PHP 文件,看看這個(gè)文件是否可以正常顯示。命令如下:
[root@localhost php-5.4.25]# vi /usr/local/apache2/htdocs/index.php
phpinfo();
?>
這里我們使用了 phpinfo() 函數(shù),這個(gè)函數(shù)的主要作用是顯示 PHP 的相關(guān)信息,這些信息包括 PHP 的編譯信息、PHP 的版本、服務(wù)器信息和環(huán)境、PHP 的環(huán)境、操作系統(tǒng)信息、路徑、主要的配置選項(xiàng)、HTTP 頭信息和 PHP 的許可等。我們一般使用這個(gè)函數(shù)來(lái)測(cè)試 PHP 是否安裝成功,接下來(lái)在瀏覽器中輸入“http://服務(wù)器IP/index.php”來(lái)執(zhí)行該文件,如圖1 所示。
圖 1 phpinfo測(cè)試頁(yè)
如果能看到圖 1,那么恭喜你,PHP 安裝成功。
標(biāo)題名稱:Linux安裝PHP過(guò)程詳解
本文地址:http://www.5511xx.com/article/ccesdii.html


咨詢
建站咨詢
