seo index via cron: Fatal error: Call to a member function getHeader() in Bootstrap.php on line 83

Hallo,

wenn ich den SEO Index manuell aufrufe läuft alle OK, beim Versuch dies nun per cronjob erledigen zu lassen bekomme ich folgende Fehlermeldung

Processing Refresh seo index
Fatal error: Call to a member function getHeader() on a non-object in /engine/Shopware/Plugins/Default/Core/System/Bootstrap.php on line 83
PHP Fatal error: Call to a member function getHeader() on a non-object in /engine/Shopware/Plugins/Default/Core/System/Bootstrap.php on line 83

Leider bin ich trotz Suche nicht weitergekommen. Hat jemand eine Ide?

Danke schonmal,
Andreas
 

Sorry, hat sich erledigt.

service httpd restart hat geholfen.

Hat sich leider doch nicht erledigt. Wenn der Job refresh seo index aufgerufen wird, bricht er mit o.g. Fehlermeldung ab und wird im Anschluss auf inaktiv gesetzt.

Wäre wirklich für jede Hilfe dankbar.

Andreas

heute morgen derselbe Fehler.

Ausserdem war die Tabelle s_search_index nicht mehr vorhanden.

 

 

heute wieder wie gestern

PHP Fatal error: Call to a member function getHeader() on a non-object in /engine/Shopware/Plugins/Default/Core/System/Bootstrap.php on line 83

und Tabelle s_search_index weg. Kein Eintrag in den Logfiles.

Bin ratlos…

Hat denn wirklich niemand eine Idee oder einen Tip?

Danke,
Andreas

wirklich gar niemand?

Scheint also kein Fehler sondern ein Feature zu sein…

Hi,

du machst den Aufruf über die Konsole? Ich denke, das hängt letztendlich daran, dass der Stack beim Konsolen-Aufruf anders aussieht, als beim Browser-Aufruf. Das Problem wird hier verursacht:

        $request = Shopware()->Front()->Request();
        $system = new sSystem($request);
        Shopware()->Container()->set('System', $system);

        $system->sMODULES = Shopware()->Modules();
        $system->sSMARTY = Shopware()->Template();
        $system->sCONFIG = $config;
        $system->sMailer = Shopware()->Mail();


        if (Shopware()->Container()->initialized('Session')) {
            $system->_SESSION = Shopware()->Session();
            $system->sSESSION_ID = Shopware()->SessionID();
            if ($request !== null && Shopware()->Session()->Bot === null) {
                /** @var $plugin Shopware_Plugins_Frontend_Statistics_Bootstrap */
                $plugin = Shopware()->Plugins()->Frontend()->Statistics();
                Shopware()->Session()->Bot = $plugin->checkIsBot($request->getHeader('USER_AGENT'));
            }
            $system->sBotSession = Shopware()->Session()->Bot;
        }

Der Code geht davon aus, dass entweder ein gültiges Request-Objekt vorliegt oder $request “NULL” ist. Das scheint bei aber noch was anderes zu sein - ich kann es aber nicht nachstellen, im Standard scheint das so zu funktionieren.

Als Workaround kann ich sonst nur vorschlagen, den Cronjob doch über die URL zu machen (/backend/cron) - das wäre vll. einen Versuch wert.

Daniel

Hallo!

Hast Du dafür eigentlich eine Lösung gefunden? Wenn ich bei mir den Cron manuell aufrufe, passiert gar nichts (auch keine Fehlermeldung), das SEO Index Refresh wird aber - wie bei Dir - automatisch auf inaktiv gesetzt. Ich vermute mal, das selbiges passiert, wenn der Cron serverseitig angestoßen wird. Denn ich kann das so oft auf aktiv stellen, wie ich will. Immer, wenn ich das nächste mal nachschaue, steht es wieder auf inaktiv.

LG,

Nicole