Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Cache automatisch erneuern

    D.L.

    • Mitglied
    • Beiträge: 108
    Cache automatisch erneuern
    am: 12. Februar 2014, 19:02:03
    Damit nach Ablauf der Cache-Lebenszeit nicht der erste Kunde beim Aufruf einer Seite 'Pech' hat und mit seinem Besuch den Cache erneuert kann mit derselben Frequenz der Abruf aller Shopseiten mit wGet automatisiert werden. Folgende Anleitung gilt für Windows:

    - Installation von wGet (http://www.gnu.org/software/wget/)
    - Erstellung einer Batch-Datei => im Texteditor folgendes einfügen:
    @echo off
    cd c:\\Program Files\GnuWin32\bin
    wget -m -r -k -E -l 2 http://www.meinshop.com

    - Anpassung der Domain und bei abweichendem Installationspfad ggf. Anpassung der Angaben von Laufwerk c:\ und dem Ordnernamen Program Files\
    - als irgendwas.bat speichern
    Beim Ausführen von irgendwas.bat erfolgt ein Download aller Shopseiten in den Programmordner \GnuWin32\bin\www.meinshop.com\. Dabei werden die Cache-Dateien auf dem Server erneuert (aktivierter Shop-Cache natürlich vorausgesetzt).

    Über Windows Boardmitteln könnte die Ausführung über die (Zubehör => Systemprogramme => ) Aufgabenplanung automatisiert werden:
    - Allgemein: Name vergeben
    - Aktion: Neu => (Aktion => Programm starten => ) Durchsuchen => irgendwas.bat auswählen
    - Trigger: Neu => (Aufgabe starten: Nach einem Zeitplan => ) Einstellungen => täglich* => Uhrzeit auswählen*
    - Beenden
    *: entsprechend der eingestellten Cache-Lebenszeit im Shop (z.B. täglich = 86400 Sekunden)

    Bei einer eingestellten längeren Cache-Lebenszeit liessen sich für Änderungen die schon vorher im Shop sichtbar sein sollen (z.B. Sonderangebote oder neue Artikel) die Cache-Dateien über das Administrator-Konto erneuern:

    Datei: /inc/xtc_db_queryCached.inc.php
    nach:
    Code: PHP  [Auswählen]
    if (STORE_DB_TRANSACTIONS == 'true') {
            error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
    }

    einfügen:
    Code: PHP  [Auswählen]
    if(file_exists($file) && isset($_SESSION['customer_id']) && $_SESSION['customers_status']['customers_status_id']==0)
       @unlink($file);

    Dadurch werden alle Cache-Dateien einer Seite beim Aufruf durch den Administrator gelöscht und anschliessend entsprechend neu angelegt.



    Linkback: https://www.modified-shop.org/forum/index.php?topic=29321.0
    3 Antworten
    2508 Aufrufe
    16. Januar 2012, 21:22:38 von Olinew
    0 Antworten
    1655 Aufrufe
    14. Mai 2015, 17:00:30 von webald
    14 Antworten
    7432 Aufrufe
    25. August 2009, 23:24:01 von Parry