2010-10-25 91 views
9

我需要在服務器上支持一些遺留代碼,我需要始終使用最新的穩定PHP版本。我無法每次升級時都更新代碼庫,所以我想知道是否有一種方法可以使用比安裝的版本更早的PHP運行此特定站點。有沒有一種方法可以將PHP作爲比安裝的舊版本執行更早的版本?

例如:我正在運行PHP 5.3.3,並且我的舊網站代碼已損壞。它在5.2.x上完美運行。我可以簡單地在腳本的頂部放置一個命令,將其作爲5.2.x運行,以便在下次升級到5.4,5.5等時不必修復損壞的代碼?

TL; DR:有沒有這樣的功能:

exec_as_php_version('5.2.14');//?

+0

有真的不應該是所有的東西,多數民衆贊成5.2.x和5.3之間的斷裂。X。該列表很短:http://www.php.net/manual/en/migration53.incompatible.php – ceejayoz 2010-10-25 20:34:18

+0

@ceejayoz:不在列表中:任何新引入的函數都會導致定義具有該名稱的函數的代碼中止硬。至少這是我的代碼在5.2中引入了date_format()時發生的事情 – 2010-10-25 20:40:59

+0

@ceejayoz從我發現的內容來看,沒有完全貶值的函數/系統變量列表(因爲已經不存在了)。我維護着舊的osCommerce碼。它使用$ HTTP_POST_VARS超級無處不在,從4.1開始折舊,哈哈!它終於在5.3版本中完全消失,而它在5.2版本中運行。此外,因爲它是一個變量,它不會拋出貶值的錯誤,所以沒有人甚至看到它:( – 2010-10-25 20:43:58

回答

9

沒有,沒有。歡迎來到版本依賴地獄。

+1

@雖然不是,謝謝:) – 2010-10-25 20:44:16

相關問題