Magento 无法初始化索引器进程
很抱歉问题重复,但我找不到问题的答案,因此我再次发布。 我试图通过管理员重新索引magento 1.7.0.2。由于服务器是共享服务器,我无法通过shell脚本运行索引器;虽然我试着通过cron运行它,但它也不起作用。 运行indexer进程后,我在exception.log文件中记录了以下错误:Magento 无法初始化索引器进程,magento,indexing,magento-1.7,Magento,Indexing,Magento 1.7,很抱歉问题重复,但我找不到问题的答案,因此我再次发布。 我试图通过管理员重新索引magento 1.7.0.2。由于服务器是共享服务器,我无法通过shell脚本运行索引器;虽然我试着通过cron运行它,但它也不起作用。 运行indexer进程后,我在exception.log文件中记录了以下错误: 2013-07-14T17:03:55+00:00 DEBUG (7): Exception message: Cannot create table without columns comments
2013-07-14T17:03:55+00:00 DEBUG (7): Exception message: Cannot create table without columns comments
Trace:0/home/username/public_html/demo/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php604:Varien_Db_Adapter_Pdo_Mysql->createTableObjectVarien_Db_Ddl_Table
#1 /home/username/public_html/demo/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(1418): Mage_Catalog_Model_Resource_Category_Flat->_createTable('4')
#2 /home/username/public_html/demo/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(1431): Mage_Catalog_Model_Resource_Category_Flat->_createTables()
#3 /home/username/public_html/demo/app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php(246): Mage_Catalog_Model_Resource_Category_Flat->reindexAll()
#4 /home/username/public_html/demo/app/code/core/Mage/Index/Model/Process.php(209): Mage_Catalog_Model_Category_Indexer_Flat->reindexAll()
#5 /home/username/public_html/demo/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll()
#6 /home/username/public_html/demo/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(178): Mage_Index_Model_Process->reindexEverything()
#7 /home/username/public_html/demo/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Index_Adminhtml_ProcessController->massReindexAction()
#8 /home/username/public_html/demo/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('massReindex')
#9 /home/username/public_html/demo/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#10 /home/username/public_html/demo/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#11 /home/username/public_html/demo/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#12 /home/username/public_html/demo/index.php(87): Mage::run('', 'store')
#13 {main}
我不知道还有什么其他的解决办法。我尝试删除锁文件并再次重新编制索引
我也试过截断平面表格,但也没用
非常感谢您的帮助。可能会出现两种情况 一,。使用此文档刷新您的数据只需扔下此 或者第二个是 二,。禁用我的所有第三方扩展,除了标记为Mage.*的扩展
希望它一定会对您有所帮助。尝试使用脚本文件运行索引 在根目录中创建一个文件reindexing.php
<?php
require_once 'app/Mage.php';
$app = Mage::app('admin');
umask(0);
for ($index = 1; $index <= 8; $index++) {
$process = Mage::getModel('index/process')->load($index);
$process->reindexAll();
}
?>
然后清除magento all缓存并以的方式运行此文件。我尝试了通过internet找到的所有方法来解决此问题,但没有任何帮助。所以,我决定自己解决这个问题。 我一直调试并跟踪错误到数据库,了解到重新索引的问题,异常消息:无法创建没有列注释的表意味着eav_属性中列前端_标签的某些值为null或0。 因此,首先我需要运行以下查询并添加前端标签(如果它们为null或零),并在值为null或零的属性的前端标签中添加值 瞧,问题解决了: 以下是我为解决此问题而运行的查询: 列出空值: 选择e.* 从…起 eav_属性e 左连接eav_实体_类型et 在e.entity\u type\u id=et.entity\u type\u id上 哪里 et.entity_type_code='catalog_category'和 e、 前端标签为空 然后我修复了空值: 选择e.* 从…起 eav_属性e 左连接eav_实体_类型et 在e.entity\u type\u id=et.entity\u type\u id上 哪里 et.entity_type_code='catalog_category'和 e、 前端标签='0' 在那之后,我可以从管理员或控制台运行索引过程,它运行得非常完美
希望你们会发现这个解决方案很有帮助。我遇到了这个问题,结果是一个表需要修复
**SOLUTION:**
Enabled magento DB logging via:
lib/Varien/Db/Adapter/Pdo/Mysql.php
Down around line 86,
you’ll see the following class variables:
protected $_debug = false;
protected $_logAllQueries = false;
protected $_logCallStack = false;
protected $_debugFile = ‘var/debug/sql.txt’;
Change all to true and then ran the reindex.
Then checked the log file specified above.
从shell运行以下命令:
php{directory\u root}/shell/indexer.php-reindex
我犯了如下错误:
“常规错误:145表”。/{datbasename}/mg_catalogsearch_fulltext”标记为崩溃,应修复”
我在上面提到的表上运行了mysql修复,然后可以毫无问题地运行索引器。我尝试了本教程。这个错误可能有一些原因
内存限制和最大执行时间的低值
无写入权限/var
过多的产品导致过载
数据库中表的损坏
您可以尝试以下解决方案
增加内存限制和最大执行时间
打开php.ini文件并添加这两行
memory_limit = 2048M
max_execution_time = 300
允许/var文件夹的写入权限
您可以为/var文件夹设置755或777,并查看错误是否消失
通过命令行运行重新索引
打开ssh客户端并运行以下命令
php shell/indexer.php --reindex
使用phpmyadmin修复数据库
打开phpmyadmin并执行所有数据库修复,以解决无法初始化索引器进程的问题,您需要运行以下步骤
解决方案1:-
这通常发生在启用“使用平面目录类别”时
并使用平面目录产品
请通过Putty连接SSH运行以下命令:-
以下是用于重新编制索引的单独命令:-
php shell/indexer.php-reindex目录\u类别\u平面
php shell/indexer.php-reindex目录\类别\产品
php shell/indexer.php-reindex catalogsearch\u全文
或运行所有重新索引:-
php shell/indexer.php-reindexall
然后清除magento所有缓存
解决方案2:-
尝试使用PHP脚本文件运行索引。
在根目录中创建一个文件reindex_custom.php
<?php
require_once 'app/Mage.php';
$app = Mage::app('admin');
umask(0);
for ($index = 1; $index <= 8; $index++) {
$process = Mage::getModel('index/process')->load($index);
$process->reindexAll();
}
?>
然后清除magento all缓存并以身份运行此文件。我猜某些第三方模块添加了一些自定义类别属性列,但它也未能为新列设置注释。您是否已经检查了触发错误的列?抱歉,所有这些过程都不起作用。在发布问题之前,我尝试了这些方法。这不起作用,并产生了相同的错误,即我在上面发布的错误。我无法将其用于Magento 1.9.1。页面返回
错误。我收到以下错误,致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[23000]@bn00d”。您的意思是我必须用“0”替换“null”值吗。我不明白你在这些条目上替换了什么