Php 马根托';s Mage::log()导致白色屏幕
使用Magentos日志工具Mage::log()时,有时会出现白色屏幕。不会向屏幕或任何日志文件(var/log/system.log、var/log/exception.log)输出任何错误消息Php 马根托';s Mage::log()导致白色屏幕,php,magento,Php,Magento,使用Magentos日志工具Mage::log()时,有时会出现白色屏幕。不会向屏幕或任何日志文件(var/log/system.log、var/log/exception.log)输出任何错误消息 这似乎只有在我试图记录一个非常大的对象时才会发生。举个例子,当我尝试这个的时候 Mage::log(Mage::helper('catalog/category')->getStoreCategories()); 在块控制器内部,它会导致白色屏幕 当我试图将当前产品登录到app/design
这似乎只有在我试图记录一个非常大的对象时才会发生。举个例子,当我尝试这个的时候
Mage::log(Mage::helper('catalog/category')->getStoreCategories());
在块控制器内部,它会导致白色屏幕当我试图将当前产品登录到
app/design/frontend/enterprise/default/template/catalog/product/view/media.phtml
使用
通常情况下,Mage::log()工作正常,并将所有内容写入system.log文件我想知道这是否发生在其他人身上,或者是否有人知道为什么会发生 我想每个人都会这样 尽量不要记录大型对象 如果你需要,我会建议你使用模具 比如像这样 $object = ...; die($object); or die('pre html tag'.print_r($object,true).'pre html tag'); $object=。。。; 模具(对象); 或 die('pre-html标记'.print_r($object,true)。'pre-html标记');
Mage::log
的工作原理与print\r
类似,也会打印私有和受保护的值,其中包括大量的资源详细信息。您可以通过使用特制的Varien_Object::debug
方法来避免这些问题
Mage::log($_product->debug());
debug
也是首选,因为它检测递归,而不是所有版本的PHP都检测递归。在(Mage::helper('catalog/category')->getStoreCategories()中是否存在错误?它是否达到OOM状态或超过运行时间?是的,我尝试在传递的$Payment对象上打印\r…4.5GB(RAM+swap)10分钟后,我仍然会遇到OOM或运行时错误。Zend将所有这些数据附加到以后的抽象中,这使得打印无法使用。
Mage::log($_product->debug());