MAGENTO调试 打开错误报告的几种方式

来源:互联网 发布:淘宝心选在哪里显示 编辑:程序博客网 时间:2024/06/07 00:11

一、

在这一章节, 我们来了解在 Magento 中报错信息(Error Message) 是如何设置的, 并且报错信息共有哪些

首先我们来看下标准的报错页面(Standard Error Page)

error-page-01

从上图中可以看出, Magento 出于安全性的考虑, 没有直接将错误信息显示出来, 取而代之的是将错误信息存入了文件, 对外而言这是一个非常好的安全措施,你当然不想游览者知道你的文件名和路径,以及错误的具体内容。
所以如果你想看下错误信息, 那么路径就是: /var/report/, 打开后你会发现文件名就是以上图中的错误代码命名的, 在本例中文件名为: 567330089, 该文件格式为: text, 所以基本上所有的编辑器都可以打开它

如果你希望在开发过程中能直接快速的看到错误信息, 那你需要对你的配置文件做一下修改, 进入 Magento 的根目录, 将 /errors/local.sample.xml 修改为 /errors/local.xml , 此时刷新你的页面,错误信息将被直接显示出来了
如果你是上线模式, 我建议你不要开启

error-page-02

以邮件模式显示报错页面

在 Magento 中还有个强劲的功能, 如果你连错误信息代码都不想让游览者看见, 取代的是一个专业的报错邮件提醒页面,如下图所示:

error-page-03

为了达到这个效果, 你需要对 /errors/local.xml 文件进行修改:

这样的话就能显示出一个漂亮的报错邮件通知页面了, 当然你也可以进入 /errors/default/report.html, 对其修改 CSS 样式以达到你的设计需求

日志 Logging

Magento 中另外一个 Degbug 的方法就是错误日志, 不过你必须进入 Admin Panel -> System -> Configuration -> Advanced -> Developer -> Log Settings, “Enabled” 设置为 “Yes”, 这样你就可以在 /var/log 文件夹内看见

error-page-04

PHP 错误信息 PHP Error Messages

有时,你会碰见一些 PHP 错误信息,然而你看见的却是一个空白页面, 原因是因为在 Magento 中 php 错误信息是默认关闭的, 如想打开,你需要到 Magento 的根目录下修改 index.php:

这些就是所有 Magento 提供的错误信息提示方法了, 如果你还没能找到错误的原因所在, 那只能建议你请教高手了

如有更好的建议和代码片段,欢迎留言提出

source: http://www.sunzhenghua.com/magento-error-page-and-troubleshooting


二、

Magento调试 - 页面空白,打开错误报告的方法


 

问题:Magento页面一片空白 没显示什么东西,无法判断是否程序错误,所以要把错误显示打开使之能调试

解决:

 

1. 在网站根目录的.htaccess文件里加上

php_flag display_errors on
php_value error_reporting 2039
详情看另外一篇文章:(用.htaccess设置 PHP错误显示 )

 

2. 然后找到/errors/local.xml.sample这个文件,改成/errors/local.xml

 

3. 接着找到lib/Zend/Cache/Backend/File.php

查找 protected $_options = array( ’cache_dir’ => ‘null’,

替换成 protected $_options = array( ’cache_dir’ => ‘tmp/’,

 

4. 最后在/index.php文件里把error_reporting(E_ALL | E_STRICT) ;和ini_set('display_errors', 1) ;注释取消。可以再加上Mage::setIsDeveloperMode(true) ;这句配合第二点把magento的开发模式打开

 

这几步下来Magento的错误报告 就打开啦!

 

来源: http://sjolzy.cn/Magento-debug-page-blank--open-method-of-error-reporting.html


source: http://justcoding.iteye.com/blog/1812816


三、

magento 成功 错误 警告 提示的使用方法  


控制器里面添加下面代码 加页面提示
Mage::getSingleton('customer/session')->addSuccess($this->__('This email does not require confirmation.'));

这个是绿色的提示

Mage::getSingleton('customer/session')->addError($this->__('Login and password are required.'));

这个是红色的提示

Mage::getSingleton('customer/session')->addNotice($this->__('Please specify product option(s).'));

这个是黄色的提示


phtml里面必须添加下面代码 才可以show页面提示
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php echo $this->getMessagesBlock()->toHtml() ?>



控制器里面必须添加下面代码
$this->_initLayoutMessages('customer/session');

使用其他session ,如 check/session 等,请参考上面方式 举一反三
source: http://bugmaycry.blog.163.com/blog/static/185272293201151553535674/



0 0
原创粉丝点击