Kategoriebaum neu indizieren

Ich habe in einem unserer Shops reproduzierbar ein Problem, wenn ich versuche den Kategoriebaum neu zu indizieren. Wenn ich die Funktion aus dem Backend heraus aufrufe, liefert das erste Select offenbar ein Resultset mit leeren Datenfeldern. Pro Rootkategorie wird folgende Zeile im PopUp ausgegeben:

<b>Processing : </b>()<br>

Nachdem die Funktion gelaufen ist, sind die OXLEFT und OXRIGHT Werte aller Unterkategorien auf 0 gesetzt; die Kategorien werden im Shop entsprechend nicht mehr angezeigt. Wenn ich updateCategoryTree auf der Shell mit dem folgenden Skript aufrufe, wird der Baum sauber indiziert.

…irgendwelche Ideen, an welchen Werten in der php.ini ich hier drehen könnte?

Der Shop hat ca. 250 Kategorien, das Skript läuft etwa 3 Sekunden, das MemoryLimit für den Webserver ist sogar höher, als das des CLI…

Ach ja:
[ul]
[li]oxid Version: 4.7.4
[/li][li]PHP 5.3.8
[/li][li]apache 2.2.21
[/li][li]Betriebssystem: Linux
[/li][/ul]

<?php
require_once dirname(__FILE__) . "/../bootstrap.php";

$oUpdate = oxNew( "oxcategorylist" );
$oUpdate->updateCategoryTree(true, 'oxbaseshop');

print(str_replace(array('<b>', '</b>', '<br>'), array('', '', "
")
implode($oUpdate->getUpdateInfo())));

Gruß, Stefan

…ein bisschen weiter bin ich inzwischen: das Problem ist offensichtlich der FetchMode. Die Abfragen, die aus dem Backend heraus erfolgen liefern als Ergebnis offenbar immer ein Array mit den Spaltennamen als Index. Der Aufruf in der Kommandozeile liefert ein numerisches Ergebnisarray. Was mich erstaunt ist: ein Aufruf

$oDb = oxDb::getDb(oxdb::FETCH_MODE_NUM);

bzw.

$oDb = oxDb::getDb();
$oDb->setFetchMode(oxdb::FETCH_MODE_NUM);

in updateCategoryTree hat keinerlei Effekt auf das Verhalten im Backend.

Ratlos, Stefan