Я только что переиндексировал данные на моей установке 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, и он будет успешно запущен. Я рекомендовал, чтобы я не был уверен, что это вообще поможет с вашей проблемой.
Вот то, что сработало для меня:
найдите core_url_rewrite, создайте резервную копию таблицы, затем обрезайте ее.
очистить все наличные деньги
индексирование индексов каталога reindex в управлении индексами
Все должно быть хорошо сейчас …