2015-12-15 112 views
0

我有一個使用magento開發的實時運行網站(1.8.1.0)。前端工作正常,但從今天上午開始,當我嘗試登錄管理面板時,即使使用錯誤的密碼或用戶名,我也會得到「http error 500」。Magento無法登錄管理面板錯誤500

的foreach登錄嘗試Magento的錯誤日誌報告:

mod_fcgid: stderr: PHP Fatal error: Call to a member function loadByUsername() on a non-object in $MAGENTO_ROOT/httpdocs/includes/src/Mage_Admin_Model_User.php on line 408

在Mage_Admin_Model_User.php相應的代碼是:

406> public function loadByUsername($username) 
407>  { 
408>  $this->setData($this->getResource()->loadByUsername($username)); 
409>  return $this; 
410>  } 

我剛纔刪除的高速緩存和會話目錄,但問題仍然存在。

可能發生了什麼?我該如何解決它?

+0

getResource()返回一個非對象,無論出於何種原因。 –

+0

檢查變量/緩存/權限/所有權 –

+0

您是否正在進行覆蓋以覆蓋用戶模型?任何最近的擴展安裝?你是否也嘗試清除緩存文件夾? – Karl

回答

0

(from this morning)

  • 有沒有(主機)服務器上的任何更新?我會嘗試在官方Magento網站上搜索,如果它是一個常見的錯誤(其他用戶也可以在更新後面對它)
  • 測試副本的安裝(ftp +數據庫)在不同的服務器(託管),以查看是否問題仍然存在。
  • 嘗試Google it與此類似($MAGENTO_ROOT/httpdocs/includes/src/是您的站點專用的,所以谷歌會找到什麼有關):

loadByUsername() on a non-object in Mage_Admin_Model_User.php on line 408

0

感謝的所有的貢獻,問題就解決了。這是非常偷偷摸摸的。

我已經在目錄應用程序/代碼/核心/法師/將改名爲「管理」(管理與2位)目錄「管理」找到。此外,這些文件丟失:app/code/core/Mage/Admin/etc/config.xmlapp/code/core/Mage/Admin/Helper/Data.php

重命名目錄,恢復文件,刪除緩存和會話後,問題就解決了。 它可能是由緩存管理部分中的緩存更新產生的。

+0

緩存更新肯定不會重命名目錄。這聽起來像是一個文件夾的意外重命名。您可能需要考慮轉移到git/deployment流程來幫助防止/顯示這些類型的問題。 – Evan