Php 在Magento中,如何读取exception.log?

Php 在Magento中,如何读取exception.log?,php,magento,exception,stack-trace,Php,Magento,Exception,Stack Trace,我找不到任何关于如何在Magento中读取异常.log的文档;关于如何阅读的文档在哪里 如果没有文件,例外情况的打印顺序是什么 0是最后发生的还是先发生的 Stack trace: #0 .../html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) #1 .../html/lib/Zend/Db/Statement.php(300): Varien_Db_Stateme

我找不到任何关于如何在Magento中读取
异常.log
的文档;关于如何阅读的文档在哪里

如果没有文件,例外情况的打印顺序是什么

0是最后发生的还是先发生的

Stack trace:
#0 .../html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 .../html/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 .../html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 .../html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('select eav_opti...', Array)
#4 .../html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('select eav_opti...', Array)
#5 .../html/app/code/local/FME/Manufacturers/Model/Observer/Product.php(47): Varien_Db_Adapter_Pdo_Mysql->query('select eav_opti...')
#6 .../html/app/code/core/Mage/Core/Model/App.php(1338): FME_Manufacturers_Model_Observer_Product->saveTabData(Object(Varien_Event_Observer))
#7 .../html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(FME_Manufacturers_Model_Observer_Product), 'saveTabData', Object(Varien_Event_Observer))
#8 .../html/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#9 .../html/app/code/core/Mage/Core/Model/Abstract.php(466): Mage::dispatchEvent('catalog_product...', Array)
#10 .../html/app/code/core/Mage/Catalog/Model/Product.php(548): Mage_Core_Model_Abstract->_afterSave()
#11 .../html/app/code/core/Mage/Core/Model/Abstract.php(319): Mage_Catalog_Model_Product->_afterSave()
#12 .../html/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(714): Mage_Core_Model_Abstract->save()
#13 .../html/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Catalog_ProductController->saveAction()
#14 .../html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('save')
#15 .../html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#16 .../html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#17 .../html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#18 .../html/index.php(91): Mage::run('', 'store')
#19 {main}
零发生在去年

现在发生的事情是,它正在从失败的函数列表中下降。 它从失败的实际函数开始,然后向您展示它是如何继续导致其他东西失败的(这使得跟踪更深层的问题变得更容易,如果它存在的话)

Pesach

这是一个常规的PHP异常堆栈跟踪;这不是Magento特有的

第0行告诉我们,文件
lib/Varien/Db/Statement/Pdo/Mysql.php
的第110行
110
成功地调用了方法
Zend\u Db\u Statement\u Pdo->\u execute()
,但是执行此方法的一个命令导致抛出一个错误

简单地说,堆栈跟踪只是一个方法/函数调用的列表,一个应用程序在抛出异常时执行中。 代码执行从#19{main}(堆栈底部)开始

  • #18,
    {main}
    被执行,直到
    index.php的
    91行
    中调用了
    方法
    Mage::run()
  • #17,
    Mage::run()
    一直执行到
    方法
    Mage\u Core\u Model\u App->run()
    App/Mage.php的
    683
    行中被调用


  • #1、
    Zend\u Db\u Statement->execute()
    一直执行,直到
    lib/Zend/Db/Statement.php的
    300行
    中调用了
    Varien\u Db\u Statement\u Pdo\u Mysql->\u execute()
  • #0,
    Varien\u Db\u Statement\u Pdo\u Mysql->\u execute()
    一直执行到
    方法
    Zend\u Db\u Statement\u Pdo->\u execute()
    lib/Varien/Db/Statement/Pdo/Mysql.php
    110
    中被调用,
    ,但此方法的某些命令导致抛出异常
作为旁注,我一般不会说堆栈跟踪是“在失败的函数列表中查找”,就像@pzirkind在他的回答中提到的那样

因为如果在#0(堆栈顶部)中调用的方法不会“失败”,那么以前调用的许多方法可能仍然可以按预期工作(而且很多方法通常都可以,至少根据我的经验),甚至可以捕获抛出的异常