sql >> データベース >  >> RDS >> Mysql

Magento-インデックスの再作成プロセスに問題がありました-カタログ製品

    これは何でもである可能性があります 。

    reindexProcessActionからPHP例外が表面に現れるとエラーが発生します アクション。ここでそのコードを見ることができます。

    #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. MariaDBでサーバー照合を取得する3つの方法

    2. UTF-8とLatin1mysql、utf-8では使用されないインデックス

    3. パラメータ2を参照で渡すことはできません-uuidPDO

    4. サブクエリを使用してpostgresのテーブル行を更新する