0

我最近在重新索引目录搜索索引时遇到了这个奇怪的问题。

我创建了一个自定义模块,它有一个事件观察器,它查找重新索引过程完成事件,然后在数据库中的 catalogsearch_index 表上运行一些额外的操作。

当我运行索引时,一切都按计划进行。当某些其他计算机运行索引进程时,它会简单地忽略我的扩展,就好像没有调用事件一样。其他一些计算机可以工作,而有些则不能。我已启用

ini_set('display_errors', 1);

index.php 文件中的错误行以查看错误,我的机器或他们的机器上都没有。

这可能是什么原因造成的?所有代码都是 PHP,因此应该在服务器端运行。为什么不同的计算机会改变我的代码遵循索引过程的方式?

先感谢您!

编辑:我刚刚发现我的代码根本没有在其他机器上执行。所以显然在其他机器上我的事件观察者没有观察和运行我的脚本。为什么会这样?谢谢。

4

2 回答 2

0

您应该做的第一件事是检查日志文件,看看是否可以在那里找到任何东西。您还可以在观察者中记录您的操作,以了解发生了什么。

您确定问题与特定计算机有关吗?它可能与 php 执行时间有关:可能在某些时候,服务器处于这样的负载下,重新索引过程实际上永远不会完成,因此您的观察者代码可能不会被执行。

我总是使用 ssh 进行重新索引:

cd /your/magento/directory
php shell/indexer.php reindexall
于 2011-12-07T14:19:57.997 回答
0

我会检查以确保您的模块甚至安装在其他系统上。检查 core_resource 中的正确行。

于 2011-12-07T17:04:56.763 回答