今天拷站架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 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 ?>
阅读全文>>
首先看看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页面一片空白
没显示什么东西,无法判断是否程序错误,所以要把错误显示打开使之能调试
解 决:
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)
;这
阅读全文>>