致命错误 Zend_Uri Magento

Fatal Error Zend_Uri Magento

我们的 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。任何帮助表示赞赏。

Store.php 文件的第 726 行如下所示

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

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

PHP Fatal error: Class 'Zend_Uri' not found

表示PHP找不到Zend_Uriclass。这可能是因为

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

我会先在 lib/Zend/Uri.php 中寻找 Zend_Uri class,然后在列表中寻找 PHP 的原因t 自动加载此 class 文件。