Magento错误 - Notice: Undefined index:***app\code\core\Mage\Core\Model\Mysql4\Config.php on line 92的解决办法 13 December 2010 16:08 Monday by 小屋 浏览(2050)

今天拷站架Magento 站,又碰到了这种错:

a:4:{i:0;s:116:"Notice: Undefined index :  0  in ***\app\code\core\Mage\Core\Model\Mysql4\Config.php on line 92 ";i:1;s:681:"#0 ***\app\code\core\Mage\Core\Model\Mysql4\Config.php(92): mageCoreErrorHandler(8, 'Undefined index...', 'D:\chen\www\mym...', 92, Array)
#1 ***\app\code\core\Mage\Core\Model\Config.php(344): Mage_Core_Model_Mysql4_Config->loadToXml(Object(Mage_Core_Model_Config))

好 吧,抽时间总结一下。。

问题原因

Mysql使用工具 (如PhpMyAdmin / MySQL-Front / Navicat for MySQL / SQLyogEnt等)重载转储文件(也就是重导.sql文件)的时候,默认在执行过程中遇到0值一般会生成新的序列号。

Magento的 core_store表的admin的store_id为0;core_store_group表的Default的group_id也为0。

在 导入.sql文件的时候,原本的0变成了新的序列号,破坏了Magento原有的数据。

解决办法

阅读全文>>

Magento 多货币设置,Magento显示多货币 10 December 2010 17:06 Friday by小屋 浏览(3528)

本文针对Magento 1.4.0.1,其他版本未测试。

顺便提提Magento后台设置多货币

System - Configuration - Currency Setup 在右边Currency Options里的Allowed currencies勾选,

然后 System - Manage Currency Rates 点击Import自动设置汇率或者自己手动输入,然后保存。

(像Magento安装IPS支付通道就需要先设置人民币CNY的汇率)

如 此Magento后台设置多货币的处理就OK了。

<?php if($this->getCurrencyCount()>1): ?>
        <div id="currency_html" style="display:none">
        <?php foreach ($this->getCurrencies() as $_code => $_name): ?>
            <input type="radio" name="currency_radio" id="currency_radio" onclick="changeCurrency('<?php echo $_code ?>')" value="<?php echo $_code ?>"<?php if($_code==$this->getCurrentCurrencyCode()): ?> checked <?php endif; ?>>
                <?php echo $_code ?>

阅读全文>>

PHP - 读取操作IP地址数据库文件QQWry.dat 11 November 2010 17:52 Thursday by小屋 浏览(2457)

首先看看QQWry.Data文件的内容结构 ,以及解读方式

一、文 件结构
文件主要分三个结构
1、文件头,8个字节;
2、数据记录区,不定长度;
3、索引区,长度为 7 的整数倍;

二、文件头
文件头的8个字节分两部分,每个部分4个字节,分别指定了索引区的开 始地址和结束地址。所以可以通过两个地址的差值 除 7 后 加 1 可以计算出总的记录数。

二、记录区
记录区的数据需要通过索引区的数据来获得各个数据的起始位置;本区数据记录了IP地址的结束地址和地区字符串;所有地区字符串都以 0×00 为结束。

三、索引区
检索IP对应的地区,关键就是找到IP起始地址对应的索引内容。一个IP 索引数据包含7个字节,前4个字节是IP地址起始值,后3个字节是对应的IP数据 记录在文件内的偏移地址;IP数据记录中,前 4 个字节是IP结束地址;紧跟的数据有两种模式: 0×01 模式 和 0×0

阅读全文>>

PHP - 增强性mhash函数 04 November 2010 19:51 Thursday by小屋 浏览(1943)

今天使用php的加密函数mhash 的时候,报错: Fatal error : Call to undefined function mhash()

mhash是php的内置函数但是使用却报错..

一番研究总结 两种方法:

1,导入php_mhash.dll扩展文件,除此之外还要导入 libmhash.dll (mhash 库的载入依赖这个文件) ,

在 Apache 的配置文件 Httpd.conf 中加载   LoadFile C:/php/libmhash.dll” 。

2,使用自定义的mhash增强函数。

function hmac_md5($key, $data)
{
    if (extension_loaded('mhash'))
    {
        return bin2hex(mhash (MHASH_MD5, $data, $key));
    }

    $b = 64;

阅读全文>>

Magento调试 - 页面空白,打开错误报告的方法 02 November 2010 14:10 Tuesday by小屋 浏览(2347)

问题: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) ;这

阅读全文>>