Magento 500服务器错误,因为Zend


Magento 500 server error because of Zend

我无法访问我的Magento网站的前端或后端。我在Magento Connect中尝试升级Zend框架,但是当它尝试这样做时,浏览器崩溃了。我试图返回,但两端都出现 500 服务器错误。

错误消息是:

Warning: include(Zend/Log.php): failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94
Warning: include(Zend/Log.php): failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94
Warning: include(): Failed opening 'Zend/Log.php' for inclusion (include_path='/app/code/local:/app/code/community:/app/code/core:/lib:.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /lib/Varien/Autoload.php on line 94
Fatal error: Class 'Zend_Log' not found in /app/code/core/Mage/Core/functions.php on line 247

如何让它再次工作?

尝试可能的修复后,我现在收到此错误消息:

**Warning: include(Zend/Cache.php): failed to open stream: No such file or directory  in /lib/Varien/Autoload.php on line 94
#0 /lib/Varien/Autoload.php(94): mageCoreErrorHandler(2, 'include(Zend/Ca...', '/...', 94, Array)
#1 /lib/Varien/Autoload.php(94): Varien_Autoload::autoload()
#2 [internal function]: Varien_Autoload->autoload('Zend_Cache')
#3 /app/code/core/Mage/Core/Model/Cache.php(135): spl_autoload_call('Zend_Cache')
#4 /app/code/core/Mage/Core/Model/Config.php(1354): Mage_Core_Model_Cache->__construct(Array)
#5 /app/Mage.php(463): Mage_Core_Model_Config->getModelInstance('core/cache', Array)
#6 /app/code/core/Mage/Core/Model/App.php(412): Mage::getModel('core/cache', Array)
#7 /app/code/core/Mage/Core/Model/App.php(306): Mage_Core_Model_App->_initCache(Array)
#8 /app/code/core/Mage/Core/Model/App.php(348): Mage_Core_Model_App->baseInit(Array)
#9 /app/Mage.php(684): Mage_Core_Model_App->run(Array)
#10 /index.php(83): Mage::run('', 'store')
#11 {main}**

你的错误不一定是由于Zend框架造成的。 如果你看看PHP抱怨的行

#File: app/code/core/Mage/Core/functions.php
function mageCoreErrorHandler($errno, $errstr, $errfile, $errline){
    //...
    if (Mage::getIsDeveloperMode()) {
        throw new Exception($errorMessage);
    } else {
        Mage::log($errorMessage, Zend_Log::ERR);
    }
}

你会看到错误发生在Magento的自定义PHP错误处理程序中。 即 -- PHP 试图报告某种错误,Magento 的自定义错误处理代码到达这一行

Mage::log($errorMessage, Zend_Log::ERR);

和停止,因为Zend_Log::ERR常量尚未定义。 这是Magento 1框架中长期存在的错误,用于在引导过程的早期发生的错误。

这里有两个可能的修复:

    将Magento
  1. 切换到开发人员模式,而不是记录错误,Magento将引发异常。 这将使您看到真正的错误消息并诊断问题。

  2. Mage::log调用之前临时添加以下行

.

require_once 'lib/Zend/Log.php';
Mage::log($errorMessage, Zend_Log::ERR);

这将包括丢失的文件,并让PHP完成其错误日志记录(这应该再次让您在日志中看到真正的错误消息并开始诊断问题(