0

最近、カタログ検索インデックスの再インデックス化に関して、この奇妙な問題に悩まされています。

再インデックス プロセスの完了イベントを検索し、データベースの catalogsearch_index テーブルでいくつかの追加操作を実行するイベント オブザーバーを持つカスタム モジュールを作成しました。

インデックスを実行すると、すべてが計画どおりに機能します。他の特定のコンピューターがインデックス プロセスを実行すると、イベントが呼び出されないかのように拡張機能が無視されます。他の一部のコンピューターは機能し、一部は機能しません。を有効にしました

ini_set('display_errors', 1);

index.php ファイルのエラー行でエラーを確認できますが、私のマシンにも彼らのマシンにもエラーはありません。

これを引き起こしている可能性があるのは何ですか?すべてのコードは PHP であるため、サーバー側で実行する必要があります。コンピューターが異なれば、コードがインデックス作成プロセスに従う方法が変わるのはなぜですか?

前もって感謝します!

編集:私のコードが他のマシンでまったく実行されていないことがわかりました。どうやら他のマシンでは、イベントオブザーバーがスクリプトを監視および実行していません。これはなぜでしょうか?ありがとう。

4

2 に答える 2

0

モジュールが他のシステムにもインストールされていることを確認するためにチェックします。core_resource の正しい行を確認してください。

于 2011-12-07T17:04:56.763 に答える
0

最初にすべきことは、ログ ファイルをチェックして、そこに何かがあるかどうかを確認することです。オブザーバーに自分の行動を記録して、何が起こっているのかを知ることもできます。

問題が特定のコンピュータに関連していることは確かですか? これは PHP の実行時間に関連している可能性があります。おそらく、特定の時間帯にサーバーに負荷がかかり、再インデックス プロセスが実際には終了せず、オブザーバー コードが実行されない可能性があります。

私は常に ssh を使用して再インデックスを行います。

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