Caching prüfen

Hilfsmittel zum prüfen des Caches

Um zu sehen ob eine Seite nun gecached wird oder nicht, kann man in der Datenbank nachsehen. Das ist aber  etwas umständlich. Deshalb habe ich mir ein kleines php Skript geschrieben, welches das caching für alle TYPO3 Seiten überprüft und im Browser anzeigt mit Auto-Refresh.

Hier das Skript angepasst für TYPO3 V11:

<?php
header( 'refresh: 1; url=/cachestatus/cache.php' );
$mysqlhost = 'localhost';
$mysqluser="<user>";
$mysqlpwd="<pass>";
$mysqldb="<dbname>";

$connection = mysqli_connect($mysqlhost, $mysqluser, $mysqlpwd, $mysqldb);

if (isset($_POST['clear']) && $_POST['clear']) {
    echo "clear";
    $sql = "DELETE FROM cache_pages";
    $res = mysqli_query($connection, $sql) or die("Anfrage nicht erfolgreich");
     $count=0;
} else {
    $sql = "SELECT count(1) cnt, pages.* FROM cache_pages LEFT JOIN pages on pages.uid = SUBSTR(cache_pages.identifier, 1, POSITION('_' IN cache_pages.identifier) - 1) GROUP BY pages.uid ORDER BY title ";
    $res = mysqli_query($connection, $sql) or die("Anfrage nicht erfolgreich");
    $count=0;
    while ($row = mysqli_fetch_array($res) ) {
        echo " <b>" .$row['uid'];
        echo " </b>| " .$row['title'];
        echo " |<b> " .$row['cnt'] . "</b><br><hr>";
        $count = $count + $row['cnt'];
    }
}
echo "<h2>count: $count</h2>";
echo '<form method="post" action="/cachestatus/cache.php">';
echo '<input type="submit" name = "clear" value = "clear">';
echo '</form>'

In diesem Fall ist das Skript unter localhost/cachestatus/cache.php aufrufbar und zeigt im 1 Sekundentakt den aktuellen Cache Status. Dass sieht dann in etwa so aus (Seiten ID, Seiten Titel, Anzahl der gecacheden Varianten der Seite):

Erstellt: 07/2010| Geändert: 03/2023

Alternative admPanel

Im admPanel kann man auch den Status prüfen. Hierzu muss die System Extension adminpanel aktiviert sein.

Typoscript

config.admPanel = 1

User TSconfig

admPanel.enable.all = 1

# oder nur den Cache anzeigen
admPanel.enable {
  cache = 1
  debug = 0
  edit = 0
  info = 0
  preview = 0
  publish = 0
  tsdebug = 0
}

Erstellt: 03/2023| Geändert: 03/2023

Caching abschalten

Eintrag in die setup.typoscript einer Extension:

config {
    no_cache = 1
}

Erstellt: 08/2013| Geändert: 03/2023