Magento – возникла проблема с процессом переиндексации – Каталог продуктов

Я только что переиндексировал данные на моей установке Magenot с версией v1.6, и теперь я получаю сообщение с указанием

There was a problem with reindexing process. 

для категории Продукты, и теперь ни одна из категорий не отображается ни в одной из категорий. Мне нужно исправить это как можно скорее, как это произошло на реальном сайте.

Кто-нибудь знает, что может быть причиной этого и что такое исправление?

Я попытался удалить содержимое в var / report и var / locks, но не радость. Кажется, что есть несколько исправлений, но не специально для продуктов категории

заранее спасибо

Это может быть что угодно .

Возникла проблема с процессом переиндексации.

ошибка возникает, когда PHP Exception reindexProcessAction на поверхность из действия 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, которое должно указывать на код проблемы, будет включено в ваше сообщение об ошибке. Это должно указывать на точную проблему, из-за которой ваш индекс терпит неудачу.

Эй, приятель, вы можете обрезать таблицу каталогов и снова запустить reindex, и он будет работать с очарованием. Tables name для обрезания catalog_product_flat_ *

«ПРЕДУПРЕЖДЕНИЕ: перед внесением любых изменений в базу данных выполните резервное копирование» mysqldump [dbname]> [anyname] .sql

Здесь я нашел другое решение и свою работу для меня. Сначала я создаю reindex.php, и он помещается в мою корневую папку, а затем ниже кода

 require_once 'app/Mage.php'; umask( 0 ); Mage :: app( "default" ); Mage::log("Started Rebuilding Search Index At: " . date("d/m/yh:i:s")); $sql = "truncate csr_catalogsearch_fulltext;"; $mysqli = Mage::getSingleton('core/resource')->getConnection('core_write'); $mysqli->query($sql); for ($i = 1; $i <= 9; $i++) { $process = Mage::getModel('index/process')->load($i); $process->reindexAll(); } echo Mage::log("Finished Rebuilding Search Index At: " . date("d/m/yh:i:s")); 

После запуска этого файла (www.example.com/reindex.php) у меня появилось сообщение об ошибке вроде ..

 Общая ошибка: 1005 Не удается создать таблицу catalog_category_flat_store_1 '(errno: 150)

Затем я просто запускаю следующий запрос в своей базе данных. Вроде как

 ALTER TABLE catalog_category_entity ENGINE=INNODB; ALTER TABLE core_store ENGINE=INNODB; 

Затем очистите весь кеш и запустите процесс переиндекса с панели amdin, и он будет успешно запущен. Я рекомендовал, чтобы я не был уверен, что это вообще поможет с вашей проблемой.

Вот то, что сработало для меня:

  1. найдите core_url_rewrite, создайте резервную копию таблицы, затем обрезайте ее.

  2. очистить все наличные деньги

  3. индексирование индексов каталога reindex в управлении индексами

Все должно быть хорошо сейчас …