PHP版本特別多,特別雜,想自己搭一套php的運行環境可不是一件容易的事,稍不留神就遇到一個坑,在某個問題上卡住半天。這篇文章嘗試將PHP時的版本選擇中可能遇到的坑逐一說明:
Windows下
首先看作業系統的版本,如果是Windows的在這裡下載:http://windows.php.net/download /
再看作業系統是32位還是64位?如果是32位元的,就選擇有「x86」的版本,如果是64位元的,就選擇有「x64」的版本。
然後看WEB伺服器是什麼?如果是IIS系列,就選擇有「Non Thread Safe」的版本,如果是Apache httpd系列,就選擇有「Thread Safe」的版本。
如果是Apache httpd還要看這個二進位版本是怎麼編譯的,有三種編譯類型,分別是:VC6、VC9、VC11(分別代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。這裡就有麻煩了:PHP官方的最新版本5.5已經用VC11編譯,5.4是用VC9編譯的。可是Apache httpd的最新版本呢,至今還是用VC6編譯。這意味著一個驚人的事實:Apache httpd的官方版本和PHP的官方版本竟然是無法相容的!當我費了很大功夫發現這個事實的時候,我的嘴巴都要驚掉了。那現有的Windows下的Apache+PHP是怎麼搞的呢?可以自己用VC11編譯Apache
httpd,但這太折騰了,PHP官方建議下載第三方打包好的Apache httpd版本,推薦了這個網站:http://www.apachelounge.com/download/,需要說明一點:這個VC11不支援XP,如果你跟我一樣有XP懷舊症,最高只能升級到5.4.24,5.5是用VC11編譯的,而VC11不支援XP和2003。
知道了上述幾個原則再看下載的檔名就很清楚了,下面做習題鞏固吧,看這兩個檔名代表什麼版本?
1 VC11 x64 Non Thread Safe
2 VC9 x86 Thread Safe
答案:
1 使用VC11編譯的用於64位元Windows的,與IIS配套使用的版本
2 使用VC9編譯的用於32位元Windows的,與Apache httpd搭配使用的版本
Linux下
如果是Linux系的在這裡下載PHP的源碼:http://cn2.php.net/downloads.php
與上面Windows版不同的是,這裡下載到的不能直接用,只是PHP的原始碼,要安裝需要自己編譯,要編譯就需要安裝gcc、make等一堆編譯軟體。看到文件裡說./configure、make、make install,針對的就是PHP的源碼版本而言。
自己編譯php就更麻煩了,依賴的函式庫一大堆,等著人掉進去的坑也有一大堆,我將在另一篇文章裡說。如果嫌麻煩,可以找已經編譯好的版本,具體的說就是各發行版的官方的軟體庫。以下以流行的ubuntu系和centos系為例分別說明;
deb套件管理式(ubuntu、Debian)
用apt-cache search php指令可以搜出很多結果,我們需要是“php5”,完整的指令是: apt-get install php5
這顯然不是永遠適用的,因為命令中有版本號5,未來PHP6是什麼情況誰也不知道。
如果想在shell中安裝一個命令列的php引擎,就安裝這個套件
apt-get install php5-cli
RPM套件管理(Fedora、RedHat、SUSE、CentOS)
yum install php
如果是php命令列,就安裝yum install php-cli
吐個槽,連選擇版本都要知道這麼多(本文的全名應該叫《PHP的版本選擇:從入門到精通》,哈哈),說了這麼多,還沒開始真的配置php環境呢,真的只是選擇版本而已,搞技術真是太辛苦了。
以上就介紹了PHP的版本選擇,包含了php,版本方面的內容,希望對PHP教學有興趣的朋友有幫助。