Jump to content
xt:Commerce Community Forum

Cache leeren bzw. ausschalten


AndreWeingart

Recommended Posts

>Mein Cache Ordner hat mittlerweile über 1,6 GB Datenvolumen.

? wie hast du das denn geschafft?

Da muss aber ne Menge drinne sein.

>Ich kann aber nicht auf ihn zugreifen um ihn zu leeren.

Wie greifst du denn auf deinen Server zu?

>Kann man das irgendwo über das admin machen?

Weiss ich leider nicht

>Kann man das cachen ausschalten?

Nein macht auch kein Sinn

>Was für einen Sinn hat es überhaupt?

Cache = Daten schnell verfübar halten...

Zum Beispiel das der Kunde nicht so lange auf den Seitenaufbau warten muss.

Link to comment
Share on other sites

Danke für die Antworten,

Ich habe halt drei Shops (multishops), da kommt nascheinend schon etwas zusammen...

Ich greife zum Einen mit Filezilla und zum Anderen mit dem Dateiverwaltungsprogramm meines Hosters auf die Ordner zu.

Ich komme aber nicht in den Ordner rein um dort etwas löschen zu können...

Link to comment
Share on other sites

Danke für die Antworten,

Ich habe halt drei Shops (multishops), da kommt nascheinend schon etwas zusammen...

Ich greife zum Einen mit Filezilla und zum Anderen mit dem Dateiverwaltungsprogramm meines Hosters auf die Ordner zu.

Ich komme aber nicht in den Ordner rein um dort etwas löschen zu können...

Also wenn sich die Shops rechnen, dann empfehle ich einen root server

von zum Beispiel Hetzner, da hab ich meine Server stehen.

Filezilla gibt aber auch eine Meldung raus, warum du nicht zugreifen darfst,

meisten weil die Rechte auf www-data liegen.

Wenn du die Rechte ändern kannst, dann machen.

Später aber wieder zurück ändern.

Das andere sollte Plesk, oder ähnliches sein, geht bestimmt auch,

aber diese Konsolen sind immer so fummelig. :)

Falls du dich für einen Root Server (Vorzugsweise Debian) entscheidest,

kann ich dir den mit allem was dazu gehört einrichten.

Viel Glück!

Link to comment
Share on other sites

hi,

dafür hat ein Kollege mal ein php-Skript gepostet, das direkt ins shop-Verzeichnis gelegt wird und aus dem Browser aufgerufen wird.

Ich habe das angepasst für ein Unterverzeichnis "toolbox" ( kann jeder leicht ändern ) und auch für templates_c umgeschrieben und wende die

Dinger regelmässig an ( die index-Dateien werden nicht gelöscht ! ).

Man bediene sich nach Wunsch:

Löschen von "cache"

Filename z.B. del_cache.php

<?php

echo "<h2>Löschen des Compile-Dirs templates_c</h2>";

$dir = @opendir ('../templates_c');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 2) == '%%') {

unlink('../templates_c/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../templates_c');

echo "<h2>Löschen von templates_c beendet</h2>";

?>

Löschen von "templates_c"

Filename z.B. del_templates_c.php

<?php

echo "<h2>Löschen des Cache-Directories</h2>";

$dir = @opendir ('../cache');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 3) == '_xt') {

unlink('../cache/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../cache');

echo "<h2>Löschen des Cache beendet</h2>";

?>

Grüsse

Link to comment
Share on other sites

hi,

dafür hat ein Kollege mal ein php-Skript gepostet, das direkt ins shop-Verzeichnis gelegt wird und aus dem Browser aufgerufen wird.

Ich habe das angepasst für ein Unterverzeichnis "toolbox" ( kann jeder leicht ändern ) und auch für templates_c umgeschrieben und wende die

Dinger regelmässig an ( die index-Dateien werden nicht gelöscht ! ).

Man bediene sich nach Wunsch:

Löschen von "cache"

Filename z.B. del_cache.php

<?php

echo "<h2>Löschen des Compile-Dirs templates_c</h2>";

$dir = @opendir ('../templates_c');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 2) == '%%') {

unlink('../templates_c/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../templates_c');

echo "<h2>Löschen von templates_c beendet</h2>";

?>

Löschen von "templates_c"

Filename z.B. del_templates_c.php

<?php

echo "<h2>Löschen des Cache-Directories</h2>";

$dir = @opendir ('../cache');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 3) == '_xt') {

unlink('../cache/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../cache');

echo "<h2>Löschen des Cache beendet</h2>";

?>

Grüsse

das ist ja ne tolle Nummer, warum bin ich da nicht selber drauf gekommen ??

Danke !

Link to comment
Share on other sites

@oldbear ... das wollte ich dir gerade sagen^^ (mit den überschritten)

Zum Problem. die Ordner wurden mittels php erstellt und in diesem Fall wurden die Rechte so eingestellt, das diese auch nur der "User" PHP sie löschen kann. mit deinem FTP kannst du daran gar nichts ändern, sondern du müsstest die Benutzerrechte ändern Beispielsweise via PHP ;-)

Das Problem hatte ich auch mal (allerdings nicht bei Veyton). Ich greife um solche Sachen zu löschen immer mittels SSH-login und Putty auf diese Ordner zu und lösche Sie. Das bereitet mir zumindest keine Umstände.

Naja. Um dann Problem zu lösen hast du ja jetzt genug Material und nun kann gegooglet werden ;):D

Link to comment
Share on other sites

Das Problem hatte ich auch mal (allerdings nicht bei Veyton). Ich greife um solche Sachen zu löschen immer mittels SSH-login und Putty auf diese Ordner zu und lösche Sie. Das bereitet mir zumindest keine Umstände.

Da kann man nen Cronjob für machen.

Putty ist super!! :)

Aber mit Winscp gehts noch ein Tick schneller *Angeb* :)

Link to comment
Share on other sites

Danke für die Antworten.

Aber ehrlich gesagt sind das für mich böhmische Dörfer und ich weiß immer noch nicht wie ich das nun wirklich gestalten kann.

Ich will doch bloß den cache leeren und nicht Informatik studieren...:(:confused:

Ich hab auch kein Informatikstudium.

Brauchste dafür auch nicht.

Mehr oder weniger ist es halt einfacher, wenn man einen root Server hat,

da man dort die komplette Kontrolle hat.

Allerdings sollte man auf der "putty" console etwas Erfahrung sammeln, oder

Jemanden haben der das kann.

Das PHP Script sollte dir aber auch helfen!

Ansonsten auch Jemanden suchen, der die das Script anpasst,

das ist nicht wirklich viel Arbeit.

Viel Glück

P.S.

Darf ich mal deine Shops angucken?

Link?

Link to comment
Share on other sites

hi,

dann sag halt mal genau, warum Du nicht drauf zugreifen kannst ...

oder ist es so, wie ahlfy geschrieben hat.

Das Cachen selber kann man schon ausschalten:

in der /conf/cache_times.php

define('USE_CACHE','true');

auf false setzen ( glaub ich )

Grüsse

Link to comment
Share on other sites

Ich benutze Plesk und filezila und über beide Programme wird der Inhalt der Cache datei leider nicht angezeigt. Die Programme hängen sich dann immer auf...

So hattest du das aber nicht geschrieben :)

Das liegt daran, das der Plesk oder Filezilla sich die Verzechnissliste holt...

Bei 1,6GB kann das ne weile dauern, oder es geht über in ein Timeout.

Wenn du denn das so tun willst, dann lösche den Ordner,

leg ihn wieder neu an und kopier die Index.html wieder rein.

Dann kommste wieder rein :)

Ob du das denn alle 2 Monate machen willst weiss ich nicht :)

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...

Das Problem hatte ich auch gestern,

unser Shop ist schon über 7gb groß und der cache Ordner war so groß, dass ich diesen nichtmal mehr über die Konsole mit rm löschen konnte...

Man kann das Problem mit dem Befehl find umgehen, das Löschen auf diesem wege hatte bei mir 1.5h gedauert...

Für mehr info schreibt mich an, möchte die Befehlsfolge hier nicht posten weil man damit auch mal eben alles löschen kann wenn man was falsch macht :]

Link to comment
Share on other sites

  • 9 months later...

hi,

dafür hat ein Kollege mal ein php-Skript gepostet, das direkt ins shop-Verzeichnis gelegt wird und aus dem Browser aufgerufen wird.

Ich habe das angepasst für ein Unterverzeichnis "toolbox" ( kann jeder leicht ändern ) und auch für templates_c umgeschrieben und wende die

Dinger regelmässig an ( die index-Dateien werden nicht gelöscht ! ).

Man bediene sich nach Wunsch:

Löschen von "cache"

Filename z.B. del_cache.php

<?php

echo "<h2>Löschen des Compile-Dirs templates_c</h2>";

$dir = @opendir ('../templates_c');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 2) == '%%') {

unlink('../templates_c/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../templates_c');

echo "<h2>Löschen von templates_c beendet</h2>";

?>

Löschen von "templates_c"

Filename z.B. del_templates_c.php

<?php

echo "<h2>Löschen des Cache-Directories</h2>";

$dir = @opendir ('../cache');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 3) == '_xt') {

unlink('../cache/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../cache');

echo "<h2>Löschen des Cache beendet</h2>";

?>

Grüsse

Liege ich richtig wenn ich vermute dass die Überschriften getauscht werden müssten? Also löscht das obere Script nicht templates_c und das untere den cache? Für Leute mit noch weniger Ahnung als ich ist das ein bissle verwirrend glaube ich :)

Link to comment
Share on other sites

  • 7 months later...

(Unerfahrene Nutzer wie mich! - Und da ich es nach ein, zwei Stolpersteinen hinbekommen habe, hier nochmal so, daß auch ich es sofort wieder verstehen würde).

Problem: Nach Änderungen im Shop-Backend (z.B. Plugins angeschaltet, dann wieder ausgeschaltet) wird trotz Ausschaltens im FrontEnd immer noch das Angeschaltete angezeigt.

Das liegt daran, das die vom Shop erzeugten Seiten (die mit dem angeschaltetem PlugIn) immer noch im Cache liegen.

Aha. Wie jetzt: "Cache"? Wo ist der?

-> Der Cache ist keine Datei, sondern eine Vielzahl von Dateien, die im Shopverzeichnis Eures Servers abgelegt werden. Soweit ich weiß nur temporär. D.h. sie werden in einiger Zeit von selber wieder verschwinden; aber wer will so lange beim rumprobieren mit den Einstellungen des Shops warten, bis im FrontEnd die aktuellen Einstellungen auch angezeigt werden?!

Diese gecachten Dateien liegen, vom root Eueres Shops aus gesehen, in den Verzeichnissen:

/cache/

und in

/templates_c/

Nun aber nicht einfach hingehen und mit einem FTP-Tool diese Verzeichnisse ganz löschen! Fatal, fatal!!

Dafür hat oldbear :D diese zwei Hilfsprogramme gelistet. Die löschen wirklich nur die "überflüssigen" (z.Zt. störenden, weil gecachten) Dateien.

Wie bekomme ich diese Programme nun bei mir zum laufen?

Man öffne einen Editor auf seinem Rechner.

Man kopiere diese Zeilen in den Editor:

<?php

echo "<h2>Löschen des Cache-Directories</h2>";

$dir = @opendir ('../cache');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 3) == '_xt') {

unlink('../cache/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../cache');

echo "<h2>Löschen des Cache beendet</h2>";

?>

Dann speichere man diese Datei lokal ab (z.B. auf dem Desktop) ab unter dem Namen

del_cache.php

Das gleiche mache man nochmal für eine zweite Datei.

Man öffne einen Editor auf seinem Rechner.

Man kopiere diese Zeilen in den Editor:

<?php

echo "<h2>Löschen des Compile-Dirs templates_c</h2>";

$dir = @opendir ('../templates_c');

while (($entry = @readdir($dir)) !== false) {

if(substr($entry, 0, 2) == '%%') {

unlink('../templates_c/'.$entry);

}

echo 'Datei '.$entry.'<br/>';

}

@closedir('../templates_c');

echo "<h2>Löschen von templates_c beendet</h2>";

?>

Dann speichere man diese Datei lokal ab (z.B. auf dem Desktop) ab unter dem Namen

del_templates_c.php

Nun hat man die beiden gewünschten Programme auf seinem Destop liegen. Diese bringt man nun per FTP-Programm auf seinen Server.

Im root des Shopverzeichnisses erstelle man sich ein neues Verzeichnis mit dem Namen

toolbox

Nun kopiere man mit seinem FTP-Programm die gerade eben erstellten Dateien von seinem Desktop in dieses Verzeichnis /toolbox/

So. Fast geschafft.

Jetzt braucht man nur noch in seinen beliebigen Browser gehen und in der Adresszeile eingeben:

http://www.EuerShopName.de/toolbox/del_cache.php

Enter. Dann kommt ein Listing und am Ende die Meldung "Löchen des cache beendet".

Das gleiche für die zweite Datei. In der Adresszeile eingeben:

http//www.EuerShopName.de/toolbox/del_templates_c.php

Enter. Dann kommt ein Listing und am Ende die Meldung "Löchen von templates_c beendet".

Ein Blick mit dem FTP-Programm in die beiden Verzeichnisse sollte nur noch ganz wenige Dateien dort zeigen (eine. html-Datei und vielleicht ein paar .xml-Dateien).

Und nun wird im FrontEnd auch wieder das angezeigt was Ihr gerade im BackEnd eingestellt habt.

LG

Dabomba

Link to comment
Share on other sites

  • 6 months later...
  • 3 months later...
  • 1 month later...

Hi zusammen,

da es ja ein PlugIn zum Löschen des "cache" gibt, das aber leider den "template_c" NICHT löscht, hab ich mir das PlugIn erweitert.

Alles Fein, wird auch installiert, alles richtig. Auch die fehlenden Sprachtexte hab ich dazu geschrieben.

Aber das/der "template_c" bleibt voll...

Vielleicht hat jemand eine Idee warum...

.htaccess im "template_c" wurde angepasst!

Hier mal das Code schnippsel...


public function cleanTemplateCache(){
$template_dir = opendir(_SRV_WEBROOT.'templates_c/');

while (false !== ($file = readdir($template_dir))) {
if(substr($file, 0, 2) == '%%') {
unlink($template_dir.$file);
}
closedir(_SRV_WEBROOT.'templates_c/');
}
}
[/PHP]

[b][i]EDIT[/i]:[/b]

Hat sich erledigt. War mein Fehler!!

.htaccess ist auch unnütze.

So geht's...

[PHP]
public function cleanTemplateCache(){
$dir = opendir(_SRV_WEBROOT.'templates_c/');
while (($file = @readdir($dir)) !== false) {
if(substr($file, 0, 2) == '%%') {
unlink(_SRV_WEBROOT.'templates_c/'.$file);
}
closedir(_SRV_WEBROOT.'templates_c/');
}
}
[/PHP]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...