2007/03/11

Virtual PC 2007 / PHP-6.0.0dev Compile

好久不見。

開學之後就鮮少有動力去寫網誌,不過最近碰巧發現 Microsoft Virtual PC 2007 終於推出正式版了,而且同樣不必認證,說真的就是免費軟體。安裝升級之後發現終於多了 Hardware-assist Virtualization (也就是虛擬化技術),這對目前的雙核 CPU 如 Intel Core2 Duo 來說真是有用的功能。Intel 本身就有一個 VT 技術,現在終於可以讓 Virtaul PC 2007 正式支援了。

開啟之後感覺似乎有那麼一點快的感覺,大概是心理作用,不過做做一些差事也十分足夠。

再來是安裝於其上的 Fedora Core 5,這是上學期修習 Unix 作業系統時安裝的,最近一看虛擬硬碟檔案足足吃掉 6GB 大小的實體硬碟空間,而 Linux 上似乎沒有什麼硬碟清理工具,剛好 Fedora Core 6 早已推出多時,有點想找個機會來砍掉重練,不過老話一句:我懶。真要動手大概就是將我那一台 Pentium4 2.0G 的電腦抓來裝 FC7 (那時應該出了吧) 吧。

喔,最近在寫 Pixmicat!2 的框架工作,寫著寫著突然想到即將到來的 PHP6 其相容性不知怎樣。原本這台虛擬電腦安裝的是 PHP 5.2.1RC2-dev,當然近日已推出正式版。不過又要重新編譯也麻煩,加上我也想玩玩尚未面世的 PHP6,考慮之下抓了 PHP6 Snapshot 回家編譯啦。

PHP 6.0.0dev 的編譯過程有點不太一樣,做個記錄好了:

因為 PHP6 首度導入 Unicode 支援,所以安裝之前請確認電腦有安裝 ICU (International Component for Unicode) 套件,這應該不是預設套件所以要自己抓來編譯。提供的官方網站連結有 icu4c-3_6-src.tgz 3.6 版原始碼可下載,以下就是大略的安裝步驟:


(假定工作目錄為 /usr/local/src)
> wget ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz
> tar -xzvf icu4c-3_6-src.tgz

抓取檔案並解壓結構

> cd icu/source
> mkdir /usr/local/icu

到 ICU 的原始碼資料夾,並生成 /usr/local/icu 存放編譯結果

> ./configure --prefix=/usr/local/icu
> make && make install

指定編譯結果存放目錄,進行編譯、安裝


這樣 ICU 就安裝完成。接著就可以來處理 PHP6 本身:


(假定工作目錄為 /usr/local/src)
> wget http://snaps.php.net/php6.0-latest.tar.gz
> tar -xzvf php6.0-latest.tar.gz
> cd php6.0*

下載原始碼並解壓,切換工作目錄,準備進行設定

> ./configure --prefix=/usr/local/bin/php-6.0.0dev --enable-fastcgi \
> --enable-zend-multibyte --with-config-file-path=/usr/local/bin/php-6.0.0dev/config \
> --enable-discard-path --enable-force-cgi-redirect --with-gd \
> --with-freetype-dir=/usr/local/include/freetype/freetype2 --with-zlib --with-bz2 \
> --enable-mbstring --with-png-dir --with-jpeg-dir --with-icu-dir=/usr/local/icu \
> --with-pdo-sqlite --enable-shmop --enable-sockets --enable-sqlite-utf8 \
> --disable-mbregex

下編譯指令,這讓很多人都很頭痛,每個人的機器都不太一樣,我列出我自己的作參考。記得 --prefix=/usr/local/bin/php-6.0.0dev (安裝路徑) 、 --with-config-file-path=/usr/local/bin/php-6.0.0dev/config (設定檔路徑) 和 --with-icu-dir=/usr/local/icu (ICU 組件路徑) 比較重要。如果要編譯 FastCGI 版則記得加 --enable-fastcgi。其他組件如 GD, SQLite 等請自己斟酌。

如果過程順利沒有任何錯誤,則請下最後的編譯與安裝命令。

> make && make install

經過漫長的編譯手續,終於安裝完成,PHP會希望你做一下 make test 的步驟以改善 PHP6 的品質,那我們就再做一下吧。

> make test

這指令會針對 PHP 的錯誤作四千多項的測試,結果如果有問題還可以回傳資訊給開發團隊 (檔案大小大概 5MB 多一些),建議按 Y 並輸入 E-mail 回傳一下 (我 E-mail 是亂打就是)。


終於完成安裝,來修改 HTTP 伺服器的設定 (我用 lighttpd/1.4.13):



儲存後重開伺服器或直接重開機都沒關係,完成後用 phpinfo(); 來檢查吧:

PHP 6.0.0dev

不過目前這個虛擬系統肥又大,還是找時間來重灌吧。

沒有留言:

張貼留言