Typo3 – Extensionmanager zeigt keine neuen Extensions mehr an – XAMPP – Teil II

Nachdem ich letztens schon das Problem hatte, dass der Extensionmanager keine Extensions mehr angezeigt hat und ich das auch erfolgreich lösen konnte kam nun das selbe Problem an anderer Stelle im Typo3 wieder auf mich zu. Ich wusste noch, dass irgendwo eine Liste aller Extensions filterbar war nach allen, die Updates haben und genau diese Liste habe ich gesucht:

Unter Extension Manager –> Extension Manager klickt man auf den Tab „Remote Repository“ und sollte meiner Meinung nach alle Extensions sehen, insbesondere nachdem ich ja wie im vorherigen Artikel beschrieben gerade alle Extensions aus dem Repository neu aktualisiert hatte.

Stattdessen erwartete mich eine leere Liste (im Screenshot bereits die aktualisierte Ansicht):

Der Fehler bzw. das Problem ist auch bekannt: http://lists.typo3.org/pipermail/typo3-english/2011-October/077511.html. Unter „Last Update“ (blau umrandet im nachfolgenden Bild) stand bei mir 30.05.2012, also mehr als ein Jahr alter Stand, daher waren auch nur ca. 4.500 Extensions im Repository. Die Liste aktualisiert man auf dem sehr kleinen unscheinbaren grün umrandeten Button:

Die Liste bleibt aber leer, auch nach der Aktualisierung. Gelb umrandet kommt die Info bei erfolgreichem Updaten und das Datum und die Anzahl der Extensions aktualisiert sicht (blau umrandet im Bild). Hier lassen sich noch Filter einstellen mit Klick auf den rot umrandeten Button: Alle Extensions (aktuelle Einstellung), alle installierten Extensions und alle Extensions, die Updates haben. Die letzten beiden Einstellungen funktionieren auch, nur die Liste mit allen Extensions bleibt leer.

Schaut man sich den Request genauer an:

Die Antwort sieht folgendermaßen aus:

[
    {
        "tid": 7,
        "action": "ExtDirect",
        "method": "getRemoteExtensionList",
        "type": "rpc",
        "result": {
            "length": 0,
            "data": []
        },
        "debug": ""
    }
]

Ich habe den Request in Postman, einer übrigens sehr zu empfehlenden Browsererweiterung für den Chrome, nachgebaut, um ein wenig an den Parametern zu spielen und dabei herausgefunden, dass der query-Parameter falsch befüllt wird bei der Auswahl „Alle Extensions“. Wie oben zu sehen ist query: „“, also leer, somit ist die Antwort auch richtig: Es gibt keine Extension mit den Namen „“. Wenn ich beim Filter „tt_“ eingebe, wird der Query-Parameter mit “ query: „tt_“ “ befüllt und die Liste aktualisiert sich korrekt. Ein * als Wildcard funktioniert bei der Anfrage perfekt, um alle Extensions anzuzeigen:

Voila! Alle Extensions wären dann auch da! 🙂

Typo3 – Extensionmanager zeigt keine neuen Extensions mehr an – XAMPP

Mal wieder Typo3, meist ein lokales Problem mit Installationen, die zum Testen auf XAMPP laufen. Ich sitze derzeit daran, eine Typo3-Installation von Version 5.4.16 auf die aktuelle Version 6.1.3 upzudaten und probiere dies erstmal lokal mit einer Spiegelung auf XAMPP.

Als ersten Schritt will ich alle vorhandenen Extensions aktualisieren. Dazu gehe ich in den Extensionmanager und suche (ich hab lang nichts mehr mit Typo3 gemacht) den Button, um die Extensionsliste aus dem TER zu aktualisieren.

Unter „Import extensions“ findet man dann auch diesen grauen, unscheinbaren Button „Retrieve/Update“, neben welchem steht von wann die derzeitige Liste ist, in meinem Fall habe ich schon aktualisiert, daher steht dort der 16.8.2013. Konkret handelt es sich dabei um die Datei „typo3temp/extensions.xml.gz“, welche aktualisiert wird. Diese kann man auch löschen oder umbenennen, um sicher zu gehen, dass wirklich eine aktuelle Datei heruntergeladen wird.

Bevor ich jedoch erfolgreich aktualisieren konnte, kam einfach nur ein grauer Screen oder weißer Bildschirm, nachdem ich auf „Retrieve/Update“ gedrückt hatte – sonst nichts. Über die Developer-Tools im Chrome sieht man unter „Network“ für diesen Request folgendes:

500 –> Internal Server Error, die Dauer des Requests findet man unter „Time“: 30,07 Sekunden. Verdächtig :). Die Standard-Ausführungszeit für Skripte ist auf 30 Sekunden begrenzt.

Abhilfe schafft hier das Hochsetzen der PHP-Einstellung „max_execution_time“ in der php.ini, welche man normalerweise unter „xampp/php/php.ini“ findet. Wer will kann diesen Wert jetzt solange hochsetzen, bis der Request nicht mehr fehlschlägt, ich hab ihn einfach auf 600 Sekunden gesetzt: „max_execution_time = 600“, 10 Minuten sollten ausreichend Zeit sein :). Der letzte Schritt ist der Wichtigste: Apache neu starten!

Feedback erwünscht!