2011-05-16 162 views
1

我在任何古老的Zend Framework版本0.6和PHP 5.1.6中使用'MJS_Controller_PathRouter'。當我在一個更新的PHP版本中運行這個例如5.2.x或5.3.x,則應是引發此錯誤:升級Zend框架建議

Declaration of MJS_Controller_Router_PathRoute::__construct() must be compatible with that of Zend_Controller_Router_Route_Interface::__construct() in /opt/ezxwebadmin-versions/ezxwebadmin_2.11.5/Library/MJS/Controller/Router/PathRoute.php on line 34

我想刪除此增強重寫路由器和提升我們的應用程序中使用新的Zend Framework版本。我們的Web應用程序不使用Zend提供的任何類,而只使用Zend框架中的MVC架構和重寫功能。

現在任何人都可以建議哪個Zend Framework版本最適合我們升級到?

+0

它始終是最新的。這是唯一的一個,包括每一個錯誤和安全修復。 – KingCrunch 2011-05-16 08:19:29

+0

如果你只使用MVC部件,那麼我可以給出的最好的建議是去掉那個部件,去做一些簡單和可測試的東西。 – Gordon 2011-05-16 08:32:03

+0

是的。我也在考慮使用最新版本。但問題出在我們已經部署了這個Web應用程序的服務器上使用PHP 5.1.6,那麼如果不需要升級PHP 5.1.6到5.3.x,我是否也可以升級這些服務器上的Web應用程序? – 2011-05-16 09:00:11

回答

1

你得到的錯誤實際上是一個PHP嚴格的編碼標準錯誤,應該很容易修復。只需打開Zend_Controller_Router_Route_InterfaceMJS_Controller_Router_PathRoute並比較__construct方法的參數。它們需要保持一致,因此請更改您的課程以匹配界面中的參數。

Zend Framework需要PHP 5.2.4。 ZF2將需要PHP 5.3+。 PHP 5.1.6已經差不多5年了,所以你應該升級(或計劃)。如果你正在使用像CentOS這樣的古老的PHP軟件包,你可能會考慮轉換到Zend Server社區版(這是免費的)。這可以與Yum一起安裝,並且會爲您提供更新的PHP版本。

+0

+1爲建議升級PHP。 – KingCrunch 2011-05-16 15:09:58

+0

感謝您的建議。首先,我修復了這個'MJS_Controller_Router_PathRoute',並確保它與'Zend_Controller_Router_Route_Interface'兼容。還同意將PHP從5.1.6升級到5.2.x/5.3.x。 – 2011-05-18 09:49:19

0

你應該採取的Zend Framework Migration Notes的密切關注始於0.8

然後通過Zend Framework Download Archives外觀和版本升級您的Framework版本(遵循遷移說明中列出的版本),要麼得到可用的版本與你有PHP或(理想情況下)最新版本:1.11.x

+0

我檢查了遷移說明,它們很好。謝謝你指點我。 – 2011-05-18 09:51:32