Добрый день.
В админ панели magento просит обновить индексы, а именно "Данные о всех метках", но при нажатии обновить выдает "Проблема с процессом индексации." и "Невозможно инициализировать процесс индексатора."
Подскажите, как исправить сие недоразумение, желательно с пошаговыми действиями.
Чтобы дать пошаговую инструкцию, надо знать причину. А причину без доступа к коду сайта придётся угадывать.
Для начала советую поискать ошибки в логах. Гляньте, что в логах появляется
1. /var/log/system.log
2. /var/log/exception.log
3. ну и на всякий случай лог php ошибок (где он лежит у вас на сервере я не знаю)
После того, как будет понятно, что за ошибка, можно думать о решении.
System .log:
2016-03-02T08:01:18+00:00 ERR (3): Warning: array_combine() [<a href='function.array-combine'>function.array-combine</a>]: Both parameters should have at least 1 element in /var/www/bracelet/data/www/braceleto.ru/downloader/lib/Mage/Connect/Rest.php on line 239
2016-03-02T08:01:18+00:00 ERR (3): Warning: ksort() expects parameter 1 to be array, boolean given in /var/www/bracelet/data/www/braceleto.ru/downloader/lib/Mage/Connect/Rest.php on line 240
exception.log:
#3 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(55810): Zend_Db_Adapter_Abstract->query('INSERT INTO `ta...', Array)
#4 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(56748): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ta...', Array)
#5 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Tag_Model_Resource_Indexer_Summary.php(233): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ta...')
#6 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Tag_Model_Resource_Indexer_Summary.php(135): Mage_Tag_Model_Resource_Indexer_Summary->aggregate()
#7 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Indexer_Abstract.php(143): Mage_Tag_Model_Resource_Indexer_Summary->reindexAll()
#8 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Process.php(212): Mage_Index_Model_Indexer_Abstract->reindexAll()
#9 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Process.php(260): Mage_Index_Model_Process->reindexAll()
#10 /var/www/bracelet/data/www/braceleto.ru/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(127): Mage_Index_Model_Process->reindexEverything()
#11 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(14272): Mage_Index_Adminhtml_ProcessController->reindexProcessAction()
#12 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(18750): Mage_Core_Controller_Varien_Action->dispatch('reindexProcess')
#13 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(18280): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#14 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(21131): Mage_Core_Controller_Varien_Front->dispatch()
#15 /var/www/bracelet/data/www/braceleto.ru/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#16 /var/www/bracelet/data/www/braceleto.ru/index.php(83): Mage::run('', 'store')
#17 {main}
2016-03-02T08:10:32+00:00 DEBUG (7): Exception message: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'COUNT(tr.customer_id) + MIN(IF(tp.base_popularity IS NOT NULL, tp.base_popularity, 0))' in 'field list', query was: INSERT INTO `tag_summary` (`tag_id`, `store_id`, `customers`, `products`, `popularity`, `uses`, `historical_uses`, `base_popularity`) SELECT `tr`.`tag_id`, `tr`.`store_id`, COUNT(DISTINCT tr.customer_id) AS `customers`, COUNT(DISTINCT tr.product_id) AS `products`, `COUNT(tr.customer_id) + MIN(IF(tp.base_popularity IS NOT NULL, tp`.`base_popularity, 0))` AS `popularity`, 0 AS `uses`, 0 AS `historical_uses`, 0 AS `base_popularity` FROM `tag_relation` AS `tr`
INNER JOIN `core_store` AS `cs` ON cs.store_id = tr.store_id
INNER JOIN `catalog_product_website` AS `pw` ON cs.website_id = pw.website_id AND tr.product_id = pw.product_id
INNER JOIN `catalog_product_entity` AS `e` ON tr.product_id = e.entity_id
LEFT JOIN `tag_properties` AS `tp` ON tp.tag_id = tr.tag_id AND tp.store_id = tr.store_id
INNER JOIN `catalog_product_entity_int` AS `tad_status` ON tad_status.entity_id = e.entity_id AND tad_status.attribute_id = 96 AND tad_status.store_id = 0
LEFT JOIN `catalog_product_entity_int` AS `tas_status` ON tas_status.entity_id = e.entity_id AND tas_status.attribute_id = 96 AND tas_status.store_id = cs.store_id
INNER JOIN `catalog_product_entity_int` AS `tad_visibility` ON tad_visibility.entity_id = e.entity_id AND tad_visibility.attribute_id = 102 AND tad_visibility.store_id = 0
LEFT JOIN `catalog_product_entity_int` AS `tas_visibility` ON tas_visibility.entity_id = e.entity_id AND tas_visibility.attribute_id = 102 AND tas_visibility.store_id = cs.store_id
INNER JOIN `cataloginventory_stock_status` AS `ciss` ON ciss.product_id = e.entity_id AND ciss.website_id = cs.website_id WHERE (tr.active = 1) AND (IF(IFNULL(tas_status.value_id, -1) > 0, tas_status.value, tad_status.value)=1) AND (IF(IFNULL(tas_visibility.value_id, -1) > 0, tas_visibility.value, tad_visibility.value)!=1) AND (ciss.stock_status = 1) GROUP BY `tr`.`tag_id`,
`tr`.`store_id` ON DUPLICATE KEY UPDATE `tag_id` = VALUES(`tag_id`), `store_id` = VALUES(`store_id`), `customers` = VALUES(`customers`), `products` = VALUES(`products`), `popularity` = VALUES(`popularity`), `uses` = VALUES(`uses`), `historical_uses` = VALUES(`historical_uses`), `base_popularity` = VALUES(`base_popularity`)
Trace: #0 /var/www/bracelet/data/www/braceleto.ru/includes/src/Varien_Db_Statement_Pdo_Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(65558): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(54773): Zend_Db_Statement->execute(Array)
#3 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(55810): Zend_Db_Adapter_Abstract->query('INSERT INTO `ta...', Array)
#4 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(56748): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ta...', Array)
#5 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Tag_Model_Resource_Indexer_Summary.php(233): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ta...')
#6 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Tag_Model_Resource_Indexer_Summary.php(135): Mage_Tag_Model_Resource_Indexer_Summary->aggregate()
#7 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Indexer_Abstract.php(143): Mage_Tag_Model_Resource_Indexer_Summary->reindexAll()
#8 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Process.php(212): Mage_Index_Model_Indexer_Abstract->reindexAll()
#9 /var/www/bracelet/data/www/braceleto.ru/includes/src/Mage_Index_Model_Process.php(260): Mage_Index_Model_Process->reindexAll()
#10 /var/www/bracelet/data/www/braceleto.ru/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(182): Mage_Index_Model_Process->reindexEverything()
#11 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(14272): Mage_Index_Adminhtml_ProcessController->massReindexAction()
#12 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(18750): Mage_Core_Controller_Varien_Action->dispatch('massReindex')
#13 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(18280): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#14 /var/www/bracelet/data/www/braceleto.ru/includes/src/__default.php(21131): Mage_Core_Controller_Varien_Front->dispatch()
#15 /var/www/bracelet/data/www/braceleto.ru/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#16 /var/www/bracelet/data/www/braceleto.ru/index.php(83): Mage::run('', 'store')
#17 {main}
2016-03-09T04:15:06+00:00 ERR (3):
exception 'Mage_Core_Exception' with message 'Invalid webservice adapter specified.' in /var/www/bracelet/data/www/braceleto.ru/app/Mage.php:595
Stack trace:
#0 /var/www/bracelet/data/www/braceleto.ru/app/code/core/Mage/Api/Model/Server.php(127): Mage::throwException('Invalid webserv...')
#1 /var/www/bracelet/data/www/braceleto.ru/api.php(84): Mage_Api_Model_Server->initialize(NULL)
#2 {main}
Судя по ошибке, если именно она возникает при запуске индексации, у вас что-то не так в таблицах - нет полей или какие-то кривые запросы.
Для начала отключите компиляцию, сотрите логи и попробуйте снова. Если ошибка останется, то надо уже искать её причину (без компиляции будут другие пути к классам).
После отключения компиляции индексы успешно обновились.
Посмотрю что будет с ошибками. Спасибо
Ошибки вроде перестали появляться, но заметил, что не обновляются новые товары.
На главной странице вставлен виджет отображения новых товаров по 9 шт. Ранее спустя установленного времени жизни кэша (сутки) товары менялись. сейчас одни и те же, даже при установке времени жизни кэша 60 сек.
Индексы обновил, кэш почистил, на товарах метка нового товара установлена. Куда копать?