Magento - 重建索引过程存在问题 - 目录产品

Jas*_*ard 2 php mysql magento e-commerce

我刚刚重新编制了运行v1.6的Magenot安装数据,我现在收到一条消息说明

There was a problem with reindexing process.
Run Code Online (Sandbox Code Playgroud)

对于类别产品,现在没有任何产品显示在任何类别中.我需要尽快解决这个问题,因为它发生在现场网站上.

有没有人知道可能导致这个问题的原因是什么?

我已经尝试删除var/report和var/locks上的内容但没有快乐.似乎有一些修复,但不是专门针对类别产品

提前致谢

Ala*_*orm 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');
}
Run Code Online (Sandbox Code Playgroud)

具体来说,这一行

Mage::helper('index')->__('There was a problem with reindexing process.')
Run Code Online (Sandbox Code Playgroud)

最简单的方法是暂时更改上面的行,以便打印出异常消息.Magento压制默认的异常消息 - 可能是为了防止最终用户看到"丑陋"的PHP错误.改变上面的内容就读了

Mage::helper('index')->__('There was a problem with reindexing process. ' . $e->getMessage())
Run Code Online (Sandbox Code Playgroud)

然后再次重新索引.应该指向问题代码的PHP错误消息将包含在您的错误消息中.这应该有助于指出导致索引失败的确切问题.