致命错误Zend_Uri Magento

时间:2015-08-19 16:43:52

标签: magento zend-framework 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 个答案:

答案 0 :(得分:1)

Store.php文件的第726行看起来像这样

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

也就是说,Magento正在调用factory类上的静态方法Zend_Uri。你的错误

  

PHP致命错误:Class' Zend_Uri'找不到

表示PHP无法找到Zend_Uri类。这可能是因为

  • 类定义文件不再存在,
  • 有人更改了类定义文件,因此它不再有效
  • 存在本地代码池覆盖文件,有人编辑了类覆盖文件,因此它不再有效
  • 有人编辑了lib/Varien/Autoload.php,因此无法加载Zend_Uri类文件
  • Varien/Autoload.php存在本地代码池覆盖文件,有人对其进行了编辑,因此无法加载Zend_Uri类文件
  • 有人更改了php include路径(通常在app/Mage.php中定义),因此它不包含lib文件夹,或者可能存在本地代码池覆盖的代码池

我首先在Zend_Uri中查找lib/Zend/Uri.php类,然后沿着列表工作,直到找出PHP为什么不自动加载此类文件。