我刚刚重新编制了运行v1.6的Magenot安装数据,现在我收到一条消息说明
There was a problem with reindexing process.
类别产品,现在不会在任何类别中显示任何产品。我需要尽快解决这个问题,因为它发生在现场网站上。
有没有人知道可能导致这种情况的原因以及解决方法是什么?
我尝试删除var / report和var / locks上的内容但没有快乐。似乎有一些修复,但不是专门针对类别产品
提前致谢
答案 0 :(得分:6)
这可能是任何。
当PHP异常从重建索引过程出现问题。
reindexProcessAction
操作冒泡到表面时,会发生错误。你可以在这里看到那些代码。
#File: app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php
public function reindexProcessAction()
{
$process = $this->_initProcess();
if ($process) {
try {
Varien_Profiler::start('__INDEX_PROCESS_REINDEX_ALL__');
$process->reindexEverything();
Varien_Profiler::stop('__INDEX_PROCESS_REINDEX_ALL__');
$this->_getSession()->addSuccess(
Mage::helper('index')->__('%s index was rebuilt.', $process->getIndexer()->getName())
);
} catch (Mage_Core_Exception $e) {
$this->_getSession()->addError($e->getMessage());
} catch (Exception $e) {
$this->_getSession()->addException($e,
Mage::helper('index')->__('There was a problem with reindexing process.')
);
}
} else {
$this->_getSession()->addError(
Mage::helper('index')->__('Cannot initialize the indexer process.')
);
}
$this->_redirect('*/*/list');
}
具体来说,这一行
Mage::helper('index')->__('There was a problem with reindexing process.')
此错误最底层的最快方法是暂时更改上面的行,以便打印出异常消息。 Magento压制默认的异常消息 - 可能是为了防止最终用户看到“丑陋”的PHP错误。将上面的内容更改为
Mage::helper('index')->__('There was a problem with reindexing process. ' . $e->getMessage())
然后再次重新索引。应该指向问题代码的PHP错误消息将包含在您的错误消息中。这应该有助于指出导致索引失败的确切问题。
答案 1 :(得分:2)
嘿伙计你可以截断目录表并再次运行reindex,它将运行一个魅力.. 表名截断catalog_product_flat _ *
“注意:在对数据库进行任何更改之前进行备份” mysqldump [dbname]> [anyname]的.sql
答案 2 :(得分:2)
在这里,我找到了另一个解决方案,并为我工作。 我首先创建 reindex.php ,然后将其放在我的根文件夹中,然后通过以下代码
require_once 'app/Mage.php';
umask( 0 );
Mage :: app( "default" );
Mage::log("Started Rebuilding Search Index At: " . date("d/m/y h:i:s"));
$sql = "truncate csr_catalogsearch_fulltext;";
$mysqli = Mage::getSingleton('core/resource')->getConnection('core_write');
$mysqli->query($sql);
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
echo Mage::log("Finished Rebuilding Search Index At: " . date("d/m/y h:i:s"));
运行此文件后(www.example.com/reindex.php) 我收到了一条错误消息,如...
General error: 1005 Can't create table catalog_category_flat_store_1' (errno: 150)
然后我在我的数据库中运行以下查询。像
一样ALTER TABLE catalog_category_entity ENGINE=INNODB;
ALTER TABLE core_store ENGINE=INNODB;
然后清除所有缓存并从amdin面板运行重新索引进程并且它已成功运行。 我建议我不确定它对你的问题是否有帮助。
答案 3 :(得分:0)
这对我有用:
找到core_url_rewrite,备份表然后截断它。
清除所有奖金
重新索引目录索引在索引管理中重写
现在一切都应该好......