Verzeichnis "languages" in Administrator/cache

  • Joomla Version
    6.0.2
    PHP Version
    PHP 8.3.x
    Hoster
    STRATO und LOKAL

    Seit Version Joomla 6.0.0 gibt es im Verzeichnis administrator/cache das Verzeichnis "language" in dem Teile aus den Verzeichnissen language , administrator/language in deutsch und englisch sowie aus componenten (z.B. Kunena) und plugins in denen der Begriff "language" vorkommt, gespeichert.

    Im Administrator/dashboard werden bei "Cache" nach zwei bis drei Tagen zwischen 200 und 500 Dateien angezeigt und ein belegter Speicher von 2 bis 3 MB.

    Welchen Sinn hat dieser Speicherfresser und wofür wird er benötigt? Kann er abgeschaltet oder gelöscht werden?

    gindi

  • Welchen Sinn hat dieser Speicherfresser und wofür wird er benötigt?

    Man spart sich, so nimmt man an, ein paar Millisekunden beim parsen (also einlesen) und aufarbeiten der vielen, vielen INI-Sprachdateien, die beim Laden einer einzelnen Seite geparst werden müssen. Ich selber ziehe die Messungen aber in Zweifel, da an der urspünglichen Language-Caching-Routine schon wieder geändert wird.

    [6.0] Cache language files by HLeithner · Pull Request #45289 · joomla/joomla-cms
    Summary of Changes Add a caching layer to the languageHelper::parseIniFile method. Benchmark the function on within the system is not easy the the performance…
    github.com

    Kann er abgeschaltet oder gelöscht werden?

    Ersteres nein, zweiteres Ja (geht auch aus dem Backend, indem man die betr. Cache-Gruppe wählt). Werden dann halt wieder erzeugt.

    Und scheint auch unter bestimmten Umständen nicht korrekt zu funktionieren bzw. ohne weitere, auszutüftelnde Codeanpassungen sonstwo bei Updates auf J6:

  • Danke für die Antworten.

    Ich hatte gehofft daß man den Ordner language im Cache Verzeichnis löschen kann. Der Vorschlag von Elwood löscht ja nur den Inhalt des Cache Ordners language. Aber sofort nach dem löschen stehen wieder Dateien in zweistelliger Anzahl darin.

    Dann habe ich die lokale Testwebsite beendet, den Apache beendet und mit dem Midnight Commander auf der Testwebsite im Ordner administrator/cache das Verzeichnis language gelöscht.

    Dann habe ich den Apache gestartet (language war gelöscht) und die Testwebsite (Userseite) aufgerufen ohne mich anzumelden. Sofort stand das Verzeichnis language wieder in administrator/cache drin.

    Wie kann man das verhindern?

    gindi

  • Im Administrator/dashboard werden bei "Cache" nach zwei bis drei Tagen zwischen 200 und 500 Dateien angezeigt und ein belegter Speicher von 2 bis 3 MB.

    Wahrscheinlich deshalb. Kurz gesagt: Sowas ist mir zu blöd, um mich deshalb aufzuregen. Joomla erzeugt ja eh schon jede Menge Cache und Temp Dateien. Ich rege mich mehr auf über Dateien, die Installationen im \temp Verzeichnis hinterlassen und 'vergessen', das Zeugs zu löschen. Oder über de-installierte Erweiterungen, die Datenmüll hinterlassen.

  • Wie kann man das verhindern?

    Hatte ich ja oben schon erwähnt, dass man das nicht verhindern kann. Die Anzahl der Dateien schwanken halt. Mal gehts rauf, mal gehts runter. In welchen Zeitintervallen da wohl ein Teil automatisch gelöscht wird, weiß ich nicht.

    Warum das von Joomlas normalen Cacheeinstellungen abgekoppelt ist, wird im oben verlinkten GitHub-PR erwähnt, ich verstehs aber nicht. Nervig ist halt, dass es bei mir Fehler veursacht, die man nur schwer testen/debuggen kann, weil eben nicht deaktivierbar.

  • Danke für den Hinweis zum verlinkten GitHub-PR. Das war die Lösung!

    Ich habe zwei Testversionen von Joomla 6.0.2 erstellt. In der ersten Version habe ich die Datei LanguageHelper.php mit der Datei aus Joomla 5.4.1 überschrieben. In der Zweiten Version habe ich die Änderungen aus dem GitHub-PR entfernt.

    Beide Versionen funktionieren fehlerfrei und administrator/cache/language ist Geschichte.

    gindi

  • Beide Versionen funktionieren fehlerfrei und administrator/cache/language ist Geschichte.

    Sisyphos sagt: "Ja, aber doch nur bis zum nächsten Joomla-Update. Andere, vielleicht wichtige Änderungen wirst regelmäßig durchsehen müssen."

    Wie gesagt, irgendeine "Magie" räumt die Dateien sowieso immer mal wieder auf. Die höchste Zahl an Dateien war bei mir übrigens 800, was wohl daran lag, dass ich Sprach-Overrides getestet habe und die Dateien dann mit einem Zeitstempel nochmals angelegt werden. 800 klingt viel, aber waren auch nur paar Popel-MB unter 10MB.

    Beachten muss man auch, wenn einen die Sache nervt: Es werden auch Sprachdateien von deaktivierten Erweiterungen gecachet (z.B. eine Komponente von mir). Wohl weil die Titel ja trotzdem unter "Erweiterungen verwalten" korrekt angezeigt werden sollen.

    Meint: Weniger "installierter Schrott" reduziert auch die Cache-Dateien-Anzahl.

    Mehrsprachigkeit erhöht sie.

    Aber, mir gefällt das auch nicht so wirklich, wie das jetzt ist und, dass es nicht dokumentiert wurde.