Mysql
 sql >> Database >  >> RDS >> Mysql

Magento - Si è verificato un problema con il processo di reindicizzazione - Catalogo prodotti

Potrebbe essere qualsiasi cosa . Il

si verifica un errore quando un'eccezione PHP viene visualizzata in superficie da reindexProcessAction azione. Puoi vedere quel codice qui.

#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');
}

In particolare, questa linea

Mage::helper('index')->__('There was a problem with reindexing process.')

Il modo più rapido per risolvere questo errore è temporaneamente modificare la riga sopra in modo che stampi il messaggio di eccezione. Magento sopprime il messaggio di eccezione predefinito, probabilmente nel tentativo di impedire agli utenti finali di vedere un "brutto" errore PHP. Cambia quanto sopra in legge

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

E poi reindicizzare di nuovo. Il messaggio di errore PHP, che dovrebbe puntare al codice del problema, verrà incluso nel messaggio di errore. Questo dovrebbe aiutare a indicare il problema esatto che sta causando il fallimento dell'indice.