同時執行PHP4與PHP5

2021-04-25 00:44:31 字數 2098 閱讀 8389

前段時間決定運用php5來開發最新的專案。由於很多程式還是用php4開發的,所以就涉及到如何同時除錯php4和php5程式的問題了。經過一番試驗,終於找到一種簡單的方法,讓我可以方便的除錯php4和php5程式。

基本設定

原理說穿了很簡單,就是讓iis執行php4,然後讓apache2執行php5。難點主要就是如何解決php4和php5使用各自php.ini的問題。

其中最重要的一條就是 phpinidir,用來指明php.ini檔案所在位置(也就是php5的安裝目錄)。

按照上面的配置後,php4和php5就可以同時執行了。使用 http://localhost:8080/ 就是訪問iis+php4,而 http://localhost/ 就是訪問apache+php5。

進一步優化

現在對剛剛的設定進一步優化,避免訪問iis+php4還要指定埠號的麻煩。

一、修改apache配置檔案,啟用proxy模組;

二、繼續修改apache配置檔案,讓apache處理對iis+php4的訪問;

這兩行配置告訴apache,當處理以/iis路徑的請求時**到 http://127.0.0.1:8080/。由於apache的**功能對於訪問者來說是完全透明的,因此我們就可以使用下面的路徑分別訪問iis+php4和apache+php5:

http://localhost/iis/ 訪問iis+php4

http://localhost/ 訪問apache+php5

現在感覺就好多了,不用輸入埠號就可以很方便的訪問php4和php5程式了。

讓不同的虛擬主機分別使用php4和php5

按照上面的思路,還可以讓不同的虛擬主機使用不同版本的php。參考下面的配置:

上面的配置中,乙個虛擬主機的網域名稱是 blog.dualface.com。這個虛擬主機使用了php5,所以直接由apache處理訪問請求。另乙個虛擬主機是 dev.dualface.com,由apache**到 http://127.0.0.1:8080/ 到處理。

當然了,我們不一定非要用iis+php4和apache+php5這種組合,改為apache+php4和apache+php5也是可以的,只 不過多安裝一套apache而已。而且利用這個技巧,不但可以讓虛擬主機使用不同的php,還可以讓iis來執行asp、asp.net程式、 apache來處理靜態網頁和php程式,充分發揮apache和iis各自的強項。

另一文章:iis與apache,同時使用80埠的解決辦法

公升級PHP5的理由 PHP4和PHP5效能對比

php 4到今年年底php group將不再對其進行支援了,所以為了讓大家更有信心的轉移到php 5平台上,我特別做了這個測試,看看我們php 4.x 是否真的效能比我們的php 5.x要好捏,測試結果很明顯,那就是php 5.x 比php 4.x不論是物件導向還是面向過程,都要比php 4.x 要...

PHP4和PHP5中的引用

php提供了引用操作符 在php中引用的意思是用不同的名字訪問同乙個變數內容,php4和php5中的物件引用是有區別的。a 8 b a echo a a 8 echo b b 8 a 12 echo a a 12 echo b b 8 首先建立變數 a,把整數8賦值給 a,然後把 a賦給 b,這時候...

PHP4與PHP5的一些差別

今天做的乙個小專案,由於伺服器是混合的,因為公司做php開發,已經有很多年了 有php4和php5的伺服器,於是所有的 需要進行相容,於是問題就來了,碰到了很多小問題,因為在php5版本中使用很流暢的伺服器,在php4中出現了異常。尤其是對於陣列的 一些函式。比如 1 uasort,這個函式,在ph...