Det här kan vara vad som helst . Den
fel uppstår när ett PHP-undantag bubblar upp till ytan från reindexProcessAction
handling. Du kan se den koden här.
#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');
}
Närmare bestämt den här raden
Mage::helper('index')->__('There was a problem with reindexing process.')
Det snabbaste sättet till botten av detta fel är att tillfälligt ändra ovanstående rad så att undantagsmeddelandet skrivs ut. Magento övertrycker standardmeddelandet om undantag - förmodligen i ett försök att förhindra att slutanvändare ser ett "fult" PHP-fel. Ändra ovanstående till att det lyder
Mage::helper('index')->__('There was a problem with reindexing process. ' . $e->getMessage())
Och sedan indexera om igen. PHP-felmeddelandet, som bör peka på problemkoden, kommer att inkluderas i ditt felmeddelande. Detta bör hjälpa till att peka på det exakta problemet som gör att ditt index misslyckas.