APCu mit TYPO3 verwenden

Du möchtest die maximale Geschwindigkeit aus deiner TYPO3 Installation herausholen?
Damit TYPO3 optimal mit Performance Plus zusammenarbeitet, ist noch eine kleine Anpassung an der Konfiguration notwendig. Am einfachsten geht dies über das Kundencenter.

Wähle hier in der Projektverwaltung das gewünschte Projekt aus und gehe in die "Performance Plus"-Oberfläche unterhalb von Tools. Das Kundencenter sucht nun automatisch nach TYPO3 Installationen in deinem Projekt und listet diese unterhalb der aktuellen Auslastung des OPCaches und APCu auf. Setze hier einfach den Haken bei "APCu Caching aktivieren" und klicke auf "Konfigurieren". 
Die ausgewählte TYPO3 Installation nutzt den APCu schon wenige Sekunden später.

Mit Performance Plus von Mittwald das APCu Caching aktivieren und die maximale Geschwindigkeit aus deiner TYPO3 Installation herausholen.

Alternativ kannst du die Aktivierung des APCu auch manuell vornehmen. Lege dafür zunächst im typo3conf-Verzeichnis der gewünschten Installation eine Datei mit dem Namen "MwCachingConfiguration.php" und dem folgenden Inhalt an.

<?php
 
if (!function_exists('mw_setCacheBackend')) {
    function mw_setCacheBackend($backendClassName, $cacheName, $lifetime = NULL)
    {
        $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$cacheName]['backend'] = $backendClassName;
        if (isset($lifetime))
        {
            $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$cacheName]['options'] = array("defaultLifetime" => $lifetime);
        } else {
            $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$cacheName]['options'] = array();
        }
 
    }
}
 
$mw_apcExtensionLoaded = extension_loaded('apc');
$mw_apcuExtensionLoaded = extension_loaded('apcu');
$mw_apcAvailable = $mw_apcExtensionLoaded || $mw_apcuExtensionLoaded;
$mw_apcEnabled = ini_get('apc.enabled') == TRUE;
 
if (PHP_SAPI !== 'cli' && TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext() !== 'Development' && $mw_apcAvailable && $mw_apcEnabled) {
    $mw_backendClassName = $mw_apcExtensionLoaded ? 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcBackend'
        : 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcuBackend';
} else {
    $mw_backendClassName = 'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend';
}
 
$version = TYPO3_version;
 
if (substr($version,0,2) === "10")
{
    mw_setCacheBackend($mw_backendClassName, 'hash');
    mw_setCacheBackend($mw_backendClassName, 'pages');
    mw_setCacheBackend($mw_backendClassName, 'pagesection', 2592000);
    mw_setCacheBackend($mw_backendClassName, 'rootline',2592000);
    mw_setCacheBackend($mw_backendClassName, 'imagesizes', 0);
} elseif ($version[0] === "9") {
    mw_setCacheBackend($mw_backendClassName, 'cache_hash');
    mw_setCacheBackend($mw_backendClassName, 'cache_pages');
    mw_setCacheBackend($mw_backendClassName, 'cache_pagesection', 2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_rootline',2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_imagesizes', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_reflection', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_datamapfactory_datamap', 0);
} elseif ($version[0] === "8" || $version[0] === "6") {
    mw_setCacheBackend($mw_backendClassName, 'cache_hash');
    mw_setCacheBackend($mw_backendClassName, 'cache_pages');
    mw_setCacheBackend($mw_backendClassName, 'extbase_datamapfactory_datamap');
    mw_setCacheBackend($mw_backendClassName, 'cache_pagesection', 2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_rootline',2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_imagesizes', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_object', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_reflection', 0);
} elseif ($version[0] === "7") {
    mw_setCacheBackend($mw_backendClassName, 'cache_hash');
    mw_setCacheBackend($mw_backendClassName, 'cache_pages');
    mw_setCacheBackend($mw_backendClassName, 'extbase_datamapfactory_datamap');
    mw_setCacheBackend($mw_backendClassName, 'extbase_typo3dbbackend_queries');
    mw_setCacheBackend($mw_backendClassName, 'cache_pagesection', 2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_rootline',2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_imagesizes', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_object', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_reflection', 0);
} else {
    mw_setCacheBackend($mw_backendClassName, 'cache_hash');
    mw_setCacheBackend($mw_backendClassName, 'cache_pages');
    mw_setCacheBackend($mw_backendClassName, 'cache_pagesection', 2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_rootline',2592000);
    mw_setCacheBackend($mw_backendClassName, 'cache_imagesizes', 0);
    mw_setCacheBackend($mw_backendClassName, 'extbase_datamapfactory_datamap', 0);
}

 

Bearbeite nun die Datei AdditionalConfiguration.php im gleichen Verzeichnis und füge folgende Zeile am Ende hinzu: 

include_once "MwCachingConfiguration.php";

 

Falls die Datei noch nicht existiert, lege sie neu an und trage die folgenden Zeilen ein: 

<?php
include_once "MwCachingConfiguration.php";

Et voilà! Dein TYPO3 verwendet nun den APCu als Cachebackend und profitiert so vom ganzen Potenzial, das dir Performance Plus bietet!

Hinweis

Achte darauf, dass keine Windows-Steuerzeichen in der Datei vorhanden sind. Dies passiert zum Beispiel, wenn du die Datei unter 

Windows mit Notepad erstellt und anschließend hochgeladen hast. 

 

Ein sicherer Weg zur Erstellung der Datei und der notwendigen Einträge ohne Steuerzeichen bietet zum Beispiel der WebFTP-Zugang 

im Mittwald Kundencenter.

 

Alternativ kannst du die Datei lokal mit einem Editor erstellen, der Unix-konform speichern kann. Dies ist zum Beispiel mit Notepad++ 

oder UltraEdit möglich.

War diese Antwort hilfreich?