即使是我的系統仍然正常運行我的錯誤日誌突然有了這樣的錯誤overflowding不兼容:Zend的模型聲明抽象
2012-07-20T02:53:25+00:00 WARN (4): [2048] Declaration of User_Model_User::getParent() should be compatible with Core_Model_Item_Abstract::getParent($recurseType = NULL) ([…]/application/modules/User/Model/User.php) [20]
Error Code: 1b29e1
Stack trace:
#0 […]/application/libraries/Engine/Loader.php(103): include_once('/dana/data/www.altandetlige.dk/d...')
#1 (unknown file)(0): Engine_Loader::autoload('User_Model_User')
#2 (unknown file)(0): spl_autoload_call('User_Model_User')
#3 […]/application/libraries/Zend/Db/Table/Rowset/Abstract.php(114): class_exists('User_Model_User')
#4 […]/application/libraries/Zend/Db/Table/Abstract.php(1340): Zend_Db_Table_Rowset_Abstract->__construct(Array)
#5 […]/application/libraries/Zend/Db/Table/Abstract.php(1290): Zend_Db_Table_Abstract->fetchAll('((`engine4_users`.`user_id` = 1)...')
#6 […]/application/modules/User/Api/Core.php(334): Zend_Db_Table_Abstract->find(1)
#7 […]/application/modules/User/Api/Core.php(167): User_Api_Core->_getUser(1)
#8 […]/application/modules/User/Bootstrap.php(34): User_Api_Core->getViewer()
#9 […]/application/modules/Core/Bootstrap.php(783): User_Bootstrap->__construct(Core_Bootstrap)
#10 […]/application/libraries/Engine/Application/Bootstrap/Abstract.php(256): Core_Bootstrap->_initModules()
#11 […]/application/libraries/Engine/Application/Bootstrap/Abstract.php(207): Engine_Application_Bootstrap_Abstract->_executeResource('modules')
#12 […]/application/libraries/Engine/Application/Bootstrap/Abstract.php(150): Engine_Application_Bootstrap_Abstract->_bootstrap()
#13 […]/application/libraries/Engine/Application.php(149): Engine_Application_Bootstrap_Abstract->bootstrap()
#14 […]/application/index.php(193): Engine_Application->bootstrap()
#15 […]/index.php(24): include('/dana/data/www.altandetlige.dk/d...')
#16 {main}
使用Core_Model_Item_Abstract會產生完全相同的錯誤所有型號。
奇怪的是,錯誤只顯示在生產服務器上(運行PHP 5.4.3),而不是在開發設置(運行PHP 5.2.11)上顯示。
從錯誤中可以明顯看出Core_Model_Item_Abstract看起來並沒有得到預期的參數,但Core_Model_Item_Abstract沒有發生變化,如果是這種情況,它會在生產和開發中正確顯示。
[編輯]
在Core_Model_Item_Abstract
父類看起來像這樣。對於我來說,好像代碼已經考慮到$recurseType
未設置:
public function getParent($recurseType = null) {
if(empty($recurseType)) $recurseType = null; // Parent and owner are same
if(!empty($this->_parent_is_owner)) {
return $this->getOwner($recurseType);
}
}
任何人對此有什麼想法?
很可能你正在做一些在PHP 5.2天內可以接受的事情,但現在會引發警告。發佈User_Model_User的代碼,以便我們可以比較您的警告和您的摘要。也許有人可以把它放下。 – RockyFord 2012-07-20 11:49:18