【发布时间】:2012-09-10 08:29:28
【问题描述】:
我在 Magento 中遇到了一个问题。我有一个具有多网站功能的 Magento 商店,其中包含大约 4500 种产品。我想重新索引产品。
我通过 magento 默认功能通过 csv 导入了 4500 个产品。导入产品后,更改未显示在前端,所以我去索引管理,我发现有两个索引处于处理状态
1 产品属性 2 产品平面数据
我已经完成了以下步骤:
1 尝试从管理端系统重新索引它->索引管理
2尝试通过调用php脚本手动进行
require_once 'app/Mage.php';
umask( 0 );
Mage :: app( "default" );
$process = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_flat');
$process->reindexAll();
或
$indexingProcesses = Mage::getSingleton('index/indexer')->getProcessesCollection();
foreach ($indexingProcesses as $process) {
$process->reindexEverything();
}
还将 var/locks 文件夹权限更改为 777 并重命名该文件夹并尝试删除在此锁定文件夹中创建但未得到解决方案的 .lock 文件。
我没有 SSH 权限。那么有没有其他解决方案可以帮助我解决重新索引问题。
【问题讨论】:
-
实际问题是什么?您已经提到了几种尝试重新索引的方法,但您实际上并没有提到为什么到目前为止任何方法都不足。
-
您好 Will,我通过 magento 默认功能通过 csv 导入了 4500 个产品。导入产品后,更改未显示在前端,所以我去索引管理,我发现有两个索引处于处理状态 1 产品属性 2 产品平面数据
-
当索引长时间卡在“处理中”状态时,可能是magento的var目录下的lockfiles权限不对。每当 Magento 无法获得锁时,它就会将索引列为“正在处理”,而无需检查失败的原因。除了索引处理实际上被锁定之外,未能获取锁的最常见原因是锁已由不同的用户帐户创建。 (例如,如果
cron以root运行,而magento 通常由apache用户访问)。确保 magento 对锁具有写访问权限。 -
谢谢,但是现在该怎么做才能解决这个问题,我在过去两天遇到了这个问题,这让我非常沮丧我还重命名了 var/lock 文件夹,并且 index_process_4 中有两个文件.lock & index_process_1.lock
-
您重命名了
var/lock文件夹并在旧位置重新创建了两个锁?
标签: magento