2015-08-19 73 views
2

突然我們的Magento的商店有一個致命的錯誤:致命錯誤Zend_Uri的Magento的

PHP Fatal error: Class 'Zend_Uri' not found in /.../public_html/app/code/core/Mage/Core/Model/Store.php on line 726 

沒有新的插件或模塊最近添加。 編譯器未處於活動狀態,var/cache和var/session爲空。 權限已重置爲所有magento文件夾/文件。

沒有其他錯誤或信息提供,但我有一個空白頁 - 在前端和後端。

的Magento版本1.7.0.2。任何幫助讚賞。

回答

1

Store.php文件的726行看起來像這樣

#File: app/code/core/Mage/Core/Model/Store.php 
$uri = Zend_Uri::factory($secureBaseUrl); 

也就是說,Magento的製作對Zend_Uri類的靜態方法factory的調用。您的錯誤

PHP Fatal error: Class 'Zend_Uri' not found

指示PHP無法找到Zend_Uri類。這可能是因爲

  • 類定義文件不再存在,
  • 有人已更改類的定義文件,因此它不再有效
  • 本地代碼庫覆蓋文件存在,並且有人已經編輯的類重寫文件,因此它不再有效
  • 有人曾主編lib/Varien/Autoload.php所以它不能加載Zend_Uri類文件
  • 本地代碼庫覆蓋文件存在Varien/Autoload.php和某人編輯它,所以它可以」噸加載Zend_Uri類文件
  • 有人已經改變PHP的包含路徑(通常在app/Mage.php定義),因此它不包括lib文件夾或代碼集合,其中的本地碼池覆蓋可能存在

我首先尋找lib/Zend/Uri.php中的Zend_Uri類,然後按照你的方式在列表中找到,直到找出爲什麼PHP不自動加載這個類文件。

+0

非常感謝Alan,您的時間和明確的答案。 本地碼池覆蓋文件存在瓦瑞恩/ Autoload.php,有人已經編輯它,所以它不能加載使用Zend_Uri類文件 有人已經改變PHP的包含路徑(通常在應用程序/ Mage.php定義)所以它不包括lib文件夾或可能存在本地代碼池覆蓋的代碼池 這些爲我提供瞭解決方案,因此它再次運行。 – karstenm

相關問題