Moin Jungs,
ich habe seit ca. 2 Jahren folgendes Problem:
Auf unserer Seite haben wir einen internen Bereich in welchen man nur reinkommt wenn man sich als FE-User eingeloggt hat. Das klappt auch wunderbar, allerdings fällt in diesem internen Bereich das Menü in unregelmäßigen Abständen aus. Laut HTML-Quelltext werden zwar die Buttons des Menüs noch geladen, diese haben aber eine Größe von 0x0 Pixel auf dem Server. Mal gehts 2 Tage gut, mal nur 30 Minuten. Keine Ahnung was mir da zwischenhaut, hab schon alles mögliche versucht.
Wenn der Fehler wieder mal auftritt muss ich einfach nur den gesamten Cache löschen und schon funktionierts wieder eine Zeitlang...
Nun bietet mir mein Provider (all-inkl.com) neuerdings Cronjobs an bei denen ich ein PHP-Script ausführen lassen kann.
Ich suche jetzt also nach einer möglichkeit das ein php-script den gesamten Cache löscht. Und zwar ohne das man vorher im BE eingeloggt ist. Dieses lasse ich dann einfach alle 30 Minuten ausführen. Zwar hakt die Seite dann ab und zu, aber dafür ist der Interne Bereich wieder fit...
Hat irgendjemand so ein Script rumfliegen oder eine Idee dazu?
Danke schonmal,
Tobi
leer einfach die caching-tabellen aus
georg
Würd ich gerne, nur wie? hab mit php schon ne ganze Zeit lang nicht mehr gearbeitet :o
Also, mit dem Beispiel von No1Hosting von dieser Seite: http://forum.webhostlist.de/forum/script-serverseitig/79466-sql-datenbank-per-php-aufruf-leeren.html
habe ich nun ein angepasstes php script erstellt. Vielleicht hilft es ja noch jemandem weiter wenn er mal das selbe Problem hat:
<?php
$host = $_GET["host"];
$user = $_GET["user"];
$pass = $_GET["pass"];
$db = $_GET["db"];
$table1 = "cache_extensions";
$table2 = "cache_hash";
$table3 = "cache_imagesizes";
$table4 = "cache_md5params";
$table5 = "cache_pages";
$table6 = "cache_pagesection";
$table7 = "cache_typo3temp_log";
$con = mysql_connect($host, $user, $pass);
if ($con){
if($db = mysql_select_db($db)){
if(mysql_query("TRUNCATE TABLE ".$table1."")){
echo "Tabelle ".$table1." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table1." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table2."")){
echo "Tabelle ".$table2." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table2." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table3."")){
echo "Tabelle ".$table3." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table3." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table4."")){
echo "Tabelle ".$table4." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table4." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table5."")){
echo "Tabelle ".$table5." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table5." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table6."")){
echo "Tabelle ".$table6." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table6." nicht erfolgreich geleert ";
}
if(mysql_query("TRUNCATE TABLE ".$table7."")){
echo "Tabelle ".$table7." erfolgreich geleert ";
}else{
echo "Fehler: Tabelle ".$table7." nicht erfolgreich geleert ";
}
}else{
echo "Fehler: Datenbank ".$db." nicht vorhanden";
}
mysql_close($con);
}else{
echo "Fehler: Datenbankverbindung fehlgeschlagen";
}
?>
Das sript dann einfach mit script.php?host=__host eintragen___&user=___user___&pass=___passwort___&db=___datenbankname___ aufrufen.
Und dann schauen wir dochmal obs geholfen hat.....
Danke nochmal,
Gruß
Tobi