由于Zend,Magento 500服务器错误

时间:2016-02-08 17:47:03

标签: php magento zend-framework

我无法访问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}**

1 个答案:

答案 0 :(得分:0)

您的错误并非由Zend Framework引起。如果你看看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框架中的长期错误,用于在引导过程早期发生的错误。

这里有两个可能的修复:

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

  2. Mage::log电话

  3. 之前暂时添加以下行

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

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