PHP4吹熄燈號了,PHP官方宣告於2007/12/31正式終止對PHP4的更新與支援。
於是,不能再拖了,勢必要加快對PHP5的轉移。
首先當然要先把測試環境建立起來啦。
因為原本已經是PHP4的環境,所以這個部分不再作更動,以下動作是把PHP5安裝起來,並且讓他能跟PHP4共存並行。
 
一、下載PHP5
下載Windows最新版本的 zip package 壓縮包,PHP 5.2.5 zip package
因為是要另外安裝PHP5與PHP4共存並行,所以這裡不使用PHP安裝檔(PHP 5.2.5 installer)而是使用壓縮包,再自行部署。 
二、PHP5壓縮包解壓縮到 C:\PHP5
 原本已經安裝的PHP4位置在 C:\PHP,此處不再變動。
為了容易辨識,把PHP5壓縮包解壓縮到 C:\PHP5。 
三、增加Windows環境變數 C:\PHP5
要讓PHP4與PHP5共存有一個問題,就是 php.ini 衝突的問題。
一般在Windows上安裝PHP,都是把 php.ini 檔、php5ts.dll等動態連結檔複製到系統目錄下%SYSTEMROOT%(一般為 C:\WINNT 或 C:\WINDOWS),但是PHP4與PHP5的 php.ini 設定值並不完全相同,所以,必須分開成二個檔案放在不同的目錄位置。
事實上, php.ini 除了放在系統目錄下以外,也可以放在 PHP 安裝的目錄下,只是需要另外在 Apache 作一些宣告設定,這個部分後續再提。
所以,這裡 PHP5 的 php.ini 就直接放在 PHP5 安裝的目錄下 C:\PHP5,但是需要增加Windows環境變數 C:\PHP5,讓系統知道去哪裡找到相關檔案。
 
◎ 設定Windows環境變數 C:\PHP5
‧控制台 → 系統 → 【進階】頁籤 → 【環境變數】按鈕 → 下方【系統變數】→找到變數名稱 path→ 編輯→在變數值最後面加上 ;C:\PHP5 (要加 ; 跟其他變數值分隔 ) → 按【確定】 
四、編輯 php.ini
把 C:\PHP5\php.ini-recommended 在原位另外複製一份,重新命名為 php.ini。
找到並且修改以下設定項目:
‧include_path = "C:\php5\PEAR;C:\php5"
    (引入檔位置)
‧extension_dir = "C:/PHP5/ext"
    (extension檔位置)
五、配置 Apache,修改組態配置檔 httpd.conf 設定
以下使用基於主機名的虛擬主機(use name-based virtual hosting)配置方式,以達到PHP4與PHP5共存的目的。
此方式是讓多個虛擬主機域名對應到同一個 IP,在我們的本機環境裡就是 127.0.0.1。
因此,我們設定二個虛擬主機域名 php4 與 php5。
打開組態配置檔 httpd.conf,在文件檔尾加入以下設定:
 
NameVirtualHost *:8080
(這一行一定要加,否則只會執行以下設定的前面一項。如php4寫在前面則只會執行php4;如php5寫在前面則只會執行php5)
 
#這一段配置虛擬主機域名 php4
#congfig for php4
<VirtualHost *:8080>
 ServerAdmin test@php400
 ServerName php4
 DocumentRoot "C:\Program Files\Apache Group\Apache2\htdocs"
 <Directory "C:\Program Files\Apache Group\Apache2\htdocs">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>
 ScriptAlias /php/ "C:/php/"
 AddType application/x-httpd-php .php
 Action application/x-httpd-php "/php/php.exe"
</VirtualHost>
 
#這一段配置虛擬主機域名 php5
#congfig for php5
<VirtualHost *:8080>
 ServerAdmin test@php500
 ServerName php5
 DocumentRoot "C:\Program Files\Apache Group\Apache2\htdocs"
 <Directory "C:\Program Files\Apache Group\Apache2\htdocs">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>
 ScriptAlias /php5/ "C:/php5/"
 AddType application/x-httpd-php .php
 Action application/x-httpd-php "/php5/php-cgi.exe"
</VirtualHost>
 六、修改 hosts ,讓虛擬主機域名 php4 與 php5 對應到本機 IP 127.0.0.1
因為虛擬主機域名 php4 與 php5 是我們自己設的域名,並不是真的有註冊的網域名稱,所以必須修改 hosts 檔,才能讓瀏覽器連結到這個虛擬主機域名。
開啟 hosts 文件加入以下二行。(C:/WINNT/system32/drivers/etc 或是 C:/WINDOWS/system32/drivers/etc )
127.0.0.1 php4 # Waiter PHP 4
127.0.0.1 php5 # Waiter PHP 5
七、測試
建立一個新網頁 index.php,編輯內容 <?php echo phpinfo();?>,放到 Apache 的 htdocs 目錄。
重新啟動Apache,然後以下面二個網址測試。
 
果然,分別顯示 php4 與 php5 的設定內容資訊。
另外,如果是以 http://localhost:8080/ 測試,會顯示舊有已安裝的 php4 設定內容資訊。
讓 PHP4 與 PHP5 共存設定大成功,準備向 PHP5 大歩邁進。
 
◎ php.ini 其他設定
‧display_errors = on
    (因為是開發環境,所以設定為可顯示錯誤訊息)
 
創作者介紹
創作者 yoonow 的頭像
yoonow

右腦 想去環遊世界

yoonow 發表在 痞客邦 留言(0) 人氣()