Magento排错:Exception printing is disabled by def...

今天有个朋友说安装了Magento之后,无法登陆,检查了一遍设置,都没问题,最后想了一遍,决定从程序入手来排查。

先说一下错误提示:


Exception printing is disabled by default for security reasons.
Error log record number: XXXXXXXXXXXXXXX

这是什么错误呢?这个提示只会给人一头雾水。先把Magento的错误提示打开吧。

找到:


/errors/local .xml.sample

把这个文件重命名为:local.xml

然后在网站根目录下建立一个文件目录 tmp ,接着找到


. /lib/Zend/Cache/Backend/File .php

查找代码:


protected $_options = array('cache_dir' => 'null',

修改为:

protected $_options = array (
'cache_dir' => 'tmp/' ,

保存文件,然后刷新网站首页,错误就显示出来了:

Illegal scheme supplied, only alphanumeric characters are permitted
Trace:
#0 /home/artsandc/public_html/app/code/core/Mage/Core/Model/Store.php(712): Zend_Uri::factory(’{{base_url}}’)
#1 /home/artsandc/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(313): Mage_Core_Model_Store->isCurrentlySecure()
#2 /home/artsandc/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(161): Mage_Core_Controller_Varien_Front->_checkBaseUrl(Object(Mage_Core_Controller_Request_Http))
#3 /home/artsandc/public_html/app/code/core/Mage/Core/Model/App.php(349): Mage_Core_Controller_Varien_Front->dispatch()
#4 /home/artsandc/public_html/app/Mage.php(640): Mage_Core_Model_App->run(Array)
#5 /home/artsandc/public_html/index.php(80): Mage::run(’’, ‘store’)
#6 {main}

这个错误根据社区的讨论,好像是1.6.0之后的版本出现的。具体可以参考社区论坛的讨论贴:

http://www.magentocommerce.com/boards/viewthread/263751/

主要产生的原因:

问题主要出在:{{base_url}} 这个参数上,如果填入的域名是类似localhost之类域名,中间没有用点号分隔开的话,产生错误的机会极大。而产生错误的文件为 /app/code/core/Mage/Core/Model/Store.php

在 1.6.0.0的版本中, $secureBaseUrl是一个空值,但是在 1.6.1.0 的版本中则为数据库中的一个值。如果数据库中你有设置‘{{base_url}}’,那么$secureBaseUrl 就会被赋予 ‘{{base_url}}’. 而这个值恰恰会导致函数:

Zend_Uri::factory( $secureBaseUrl );

产生错误,然后导致中断退出。

以下是两种解决方法:

1、Dan Jones 提供的解决方法:

dan jones写了一个扩展补丁包,可以下载到网站根目录下,解压即可,下载地址:

http://www.danneh.org/files/24

本地:BTS_1610Fix.tar

2、Jefferson Luís 提供的解决方法

打开:

./app/code/core/Mage/Core/Model/Store.php

找到712行:

$uri = Zend_Uri::factory( $secureBaseUrl );
$port = $uri ->getPort();

在这行之前,插入以下代码:

// this solution is offer by 7ENET.COM TechTeam
if (false !== strpos ( $secureBaseUrl , '{{base_url}}' )) {
$secureBaseUrl = Mage::getConfig()->substDistroServerVars( '{{base_url}}' );
}
//end of custom code.

加入之后,刷新首页,一起就都正常了。

转载于:https://my.oschina.net/jayzonex/blog/54983

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值