這可能是什麼。
重新索引過程出現問題。
當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錯誤消息應該指向問題代碼,它將包含在錯誤消息中。這應該有助於指出導致索引失敗的確切問題。
你有shell嗎?然後嘗試從shell('php shell/indexer.php reindexall')開始索引處理。 – Simon 2012-03-29 14:35:32