基于DB2及PHP的應用系統(tǒng)跨平臺遷移實例講解(3)_PHP教程
推薦:用PHP編程語言開發(fā)動態(tài)WAP網(wǎng)站WAP(無線通訊協(xié)議)是在數(shù)字移動電話、個人手持設備(PDA等)及計算機之間進行通訊的開放性全球標準協(xié)議。隨著無線通訊的不斷發(fā)展,靜態(tài)的WAP頁面在很多方面已經(jīng)不能滿足用戶個性化的要求,因此開發(fā)者可以在WAP服務器端使用諸如PHP等語言產(chǎn)生動態(tài)的WML頁面,來
Apache 服務器與 php 的安裝和配置
Apache 服務器的安裝和配置
Apache HTTP 服務器是一個模塊化的軟件,管理員可以通過選擇服務器中包含的模塊進行功能增減。模塊可以在編譯時被靜態(tài)包含進httpd二進制文件,也可以編譯成獨立于httpd二進制文件的動態(tài)共享對象 (DSO)。DSO 模塊可以與服務器一起編譯,也可以用 Apache 擴展工具 (apxs) 單獨編譯。動態(tài)加載的方式相比靜態(tài)加載具有更高的靈活性。使用動態(tài)載入特性,Apache 服務器必須以動態(tài)共享對象(DSO,Dynamic Shared Object)的方式編譯。Apache 對 DSO 的支持,是基于一個叫 mod_so 的模塊來實現(xiàn)的,為支持動態(tài)加載方式,這個模塊必須預先被靜態(tài)編譯到內(nèi)核中。因此可以通過 mod_so 模塊檢測已安裝的 Apache 是否支持 DSO:
清單9. mod_so 模塊檢測
# $APACHEHOME/bin/httpd –l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
如果在列出的模塊名中有 mod_so.c,則說明安裝的 Apache 已經(jīng)支持 DSO,否則需要重新編譯 Apache。Apache 的安裝和配置過程十分簡單,如下所示:
1.下載 httpd-2.0.54.tar.gz(http://httpd.apache.org/),并將其解壓到制定目錄
# tar zxvf httpd-2.0.54.tar.gz && cd httpd-2.0.54
2.編譯安裝 apache
# ./configure --prefix=/usr/local/apache2 --enable-module=so
-- prefix 指定 apache 的安裝路徑
--enable-module=so 將 so 模塊(mod_so)靜態(tài)編譯進 apache 服務器的內(nèi)核,以支持 DSO 模式
# make && make install
3. 啟動 apache
# ln -s /usr/local/apache2/bin/apachectl /sbin/apachectl
# apachectl start
php 的安裝和配置
在 php 的安裝和配置過程中,有兩個方面需要注意,首先是 php 與 apache http server 的結合,其次是 php 與 db2 數(shù)據(jù)源的連接。
在 Apache 環(huán)境下安裝 PHP 的時候,有三種安裝模式可供選擇:靜態(tài)模塊、動態(tài)模塊(DSO)和 CGI。建議以 DSO 模式安裝,這種模式的維護和升級都相對簡單,可以在無需重新編譯 Apache 的條件下,根據(jù)需求動態(tài)增加新功能模塊。當然,這樣做也會帶來一些運行效率上的下降,Apache 服務器在啟動時會慢約 20%。
PHP 連接 DB2 數(shù)據(jù)源同樣有三種方式 : unified ODBC driver、IBM_DB2 和 PDO(php data object)。
◆unified ODBC driver 是最早的 PHP 訪問數(shù)據(jù)庫的擴展模塊之一。從 DB2 v7.2 開始,unified ODBC driver 就支持對其的訪問。對所有支持 ODBC 的數(shù)據(jù)庫,unified ODBC driver 提供了統(tǒng)一的數(shù)據(jù)訪問接口。為了保證接口的一般性,unified ODBC driver 并未對不同類型的數(shù)據(jù)庫做特定的優(yōu)化。
◆IBM_DB2 是由 IBM 開發(fā)和維護的與 DB2 數(shù)據(jù)源交互的擴展模塊,它遵守開源協(xié)議。對基于 DB2 UDB 和 php 4.x 的應用來說,IBM_DB2 是最優(yōu)的選擇,因為它針對 DB2 UDB 進行了優(yōu)化,同時避免了一些使用 unified ODBC driver 時可能存在的兼容性問題。不過,IBM_DB2 只支持 DB2 v8.2.2 或更高版本。
◆PDO 則是 php 5.x 中即將支持的新的數(shù)據(jù)庫訪問方式。本文中,由于源數(shù)據(jù)庫與目標數(shù)據(jù)庫的版本均為 DB2 v8.1,并且源環(huán)境中采用 unified ODBC driver 的方式,為了保持環(huán)境配置的一致性,仍然選擇 unified ODBC driver 作為 php 與數(shù)據(jù)源的訪問接口。
PHP 的安裝與配置過程具體如下:
1.下載并解壓 php-4.4.4.tar.gz(http://www.php.net/)
# tar zxvf php-4.4.4.tar.gz
# cd php-4.4.4
2.配置編譯 php 源代碼
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --without-mysql --with-ibm-db2=/home/reportdb/sqllib
--prefix 指定 php 的安裝路徑
--with-apxs2 指定 apxs 程序的路徑 (apxs 是一個 perl 腳本,它可以脫離 apache 的源碼將 php 模塊編譯成 DSO 文件 )
--with-ibm-db2 指定 unified ODBC driver 作為 php 與數(shù)據(jù)源的訪問接口,并指定 DB2 的實例安裝目錄。
--without-mysql 忽略 mysql 數(shù)據(jù)庫缺省的安裝配置
#cp php.ini-dist /usr/local/lib
將 php 安裝文件中的 php.ini-dist 拷貝到 /usr/local/lib 下作為 php 的配置文件。
# make && make install
# cp php.ini-dist /usr/local/lib/php.ini
3.編輯 /usr/local/apache2/conf/httpd.conf 文件,做如下修改:
設置 html 文件主目錄:用于存放網(wǎng)站所需 web 文件的主目錄
DocumentRoot "/home/web/www/"
設置 apache 的默認文件名的次序: apache 將按照由前至后的順序在當前路徑下查找其所支持的默認主頁文件
DirectoryIndex index.php index.html.var index.cgi index.html
添加 php 解釋文件后綴:對于所有需要被 PHP 解釋的文件類型,需要將后綴添加至 AddType 配置項
AddType application/x-httpd-php .php .inc
加載 PHP 模塊:加載模塊目錄 modules 下的庫 libphp4.so,并將模塊結構名 php4_module 添加到活動模塊列表中
LoadModule php4_module modules/libphp4.so
4.編輯配置文件 /usr/local/apache2/bin/apachectl :
為保證與 DB2 數(shù)據(jù)庫的連通,啟動 Apache 服務時,需要同時初始化 DB2 客戶機實例環(huán)境。創(chuàng)建 DB2 實例時,DB2 會自動生成 shell 腳本用于初始化所需的 DB2 實例環(huán)境,只需直接調(diào)用即可:
if test -f /home/reportdb/sqllib/db2profile; then
. /home/reportdb/sqllib/db2profile
fi
5.然后,重新啟動 Apache 服務器以繼承上面的配置更改。
# apachectl restart
6.編寫 PHP 的測試文件 test.php,內(nèi)容如下:
echo phpinfo();
?>
將其存放在 apache 的 html 文件主目錄 /home/web/www 下,通過瀏覽器訪問該網(wǎng)頁,若能正常訪問,則配置工作全部完成。
基于DB2及PHP的應用系統(tǒng)跨平臺遷移實例講解結束語
本文主要涵蓋了一個基于 php 和 DB2 UDB 的應用系統(tǒng)的跨平臺移植過程,詳細介紹了 DB2 數(shù)據(jù)庫系統(tǒng)的跨平臺遷移以及 Apache 服務器與 php 應用系統(tǒng)的安裝和配置過程�;趯嵺`經(jīng)驗,為 DB2 數(shù)據(jù)庫系統(tǒng)的跨平臺遷移問題提供了一個可行的解決方案。對于移植過程中可能出現(xiàn)的問題,本文也給予詳細的描述并提供相應的解決方案。雖然本文所涉及的只是從 AIX 系統(tǒng)到 LINUX 系統(tǒng)的應用系統(tǒng)移植過程,讀者亦可以參考具體的移植過程,將其應用于其它平臺之上。
分享:學習PHP必備的知識及工具數(shù)據(jù)庫操作:PEAR,這個里邊的DB庫大家都知道很好用,也很耐用。準推薦。PDO,這個在PHP。INI里配置一下,應該說是很不錯,很推薦。 ADODB,老同志了,大家也可以用一用,效果也還是很明顯,推薦。 框架: ZENDFRAMEWORK,這用說了,官方的大家伙,有了它就
- 相關鏈接:
- 教程說明:
PHP教程-基于DB2及PHP的應用系統(tǒng)跨平臺遷移實例講解(3)
。