Hallo,
ich habe mit dem Cachen einiger (dynamischer) Seiten Probleme.
Um das Prinzip zu verstehen, werde ich es kurz erläutern:
Meine Seiten brauchen ewig lange, bis sie sich aufbauen, da ich verschiedene Abfragen dynamisch erledige. Die Abfragen lassen sich mMn nicht weiter optimieren, da sie für die Distanzberechnung zweier Postleitzahlen benötigt werden.
Als Lösung dachte ich mir: "Okay, dann werden diese Seiten halt gecached" - gesagt, getan:
Ich habe vor und nach dem dynamischen Inhalt einer jeden Seite so etwas stehen: (Start, Ende)
Um nun den dynamischen Inhalt auszulesen und als String zu bekommen, habe ich folgende Zeilen geschrieben:
Das Ganze befindet sich in mehreren Schleifen, um für jede Kategorie, Rubrik, Subrubrik die passenden Seiten zu erzeugen.
Eine URL kann dann z.B. so aussehen ...de/cc/Kategorie1_in_Berlin/RubrikXY_Seitenzahl.htm
(Seitenzahl = Platzhalter)
Die dynamischen Inhalte oder auch Strings werden dann im Ordner /site_cache/ erzeugt und alte Daten gelöscht.
Mein Problem ist nun folgendes:
Nach etwas 3-4 Stunden CronJob (dieses Script) bekomme ich nur noch 404-Meldungen:
Das Ganze wiederholt sich dann und er gibt mir keine Inhalte mehr.
Die Funktion file() bekommt einfach keine Ergebnisse mehr zustande.
Das komische ist, dass es für ca. 100 Rubriken in jeweiligen Kategorien funktioniert. Das o.g. Beispiel mit Duisburg hat 44 Seiten, davon werden die ersten 25 ERZEUGT!!!, nur ab Seite 26 gibts dann keine Ergebnisse.
Achja, die Seiten lassen sich bei mir im Browser aufrufen! Sie existieren also bzw. die RewriteRules funktionieren und die Ergebnisse sind nicht leer.
Ich danke euch schon jetzt im Voraus für jeden Tipp, den Ihr mir geben könnt - bin echt am verzweifeln!
ich habe mit dem Cachen einiger (dynamischer) Seiten Probleme.
Um das Prinzip zu verstehen, werde ich es kurz erläutern:
Meine Seiten brauchen ewig lange, bis sie sich aufbauen, da ich verschiedene Abfragen dynamisch erledige. Die Abfragen lassen sich mMn nicht weiter optimieren, da sie für die Distanzberechnung zweier Postleitzahlen benötigt werden.
Als Lösung dachte ich mir: "Okay, dann werden diese Seiten halt gecached" - gesagt, getan:
Ich habe vor und nach dem dynamischen Inhalt einer jeden Seite so etwas stehen: (Start, Ende)
PHP-Code:
Header, Sidebar usw...
{_START_}
dyn. Inhalt
{_ENDE_}
Footer usw.
PHP-Code:
if(file_exists("/var/www/web2/html/site_cache/".$kategorie_url.$rubrik_url.$subrubrik_url.$datum."_in_".$city['url'].$page.".html")) {
unlink("/var/www/web3/html/site_cache/".$kategorie_url.$rubrik_url.$subrubrik_url.$datum."_in_".$city['url'].$page.".html");
}
$content = implode("", file($domain."de/cc/".$kategorie_url."_in_".$city['url']."/".$rubrik_url."/".$subrubrik_url.$add.$page.".html"));
$a = explode("<!--{_START_}-->\n", $content);
$content = $a[1];
$b = explode("<!--{_ENDE_}-->\n", $content);
$content = $b[0];
$fh = fopen("/var/www/web3/html/site_cache/".$kategorie_url.$rubrik_url.$subrubrik_url.$datum."_in_".$city['url'].$page.".html", "w");
fputs($fh, $content);
fclose($fh);
if(file_exists("/var/www/web3/html/site_cache/".$kategorie_url.$rubrik_url.$subrubrik_url.$gestern."_in_".$city['url'].$page.".html"))
unlink("/var/www/web3/html/site_cache/".$kategorie_url.$rubrik_url.$subrubrik_url.$gestern."_in_".$city['url'].$page.".html");
Eine URL kann dann z.B. so aussehen ...de/cc/Kategorie1_in_Berlin/RubrikXY_Seitenzahl.htm
(Seitenzahl = Platzhalter)
Die dynamischen Inhalte oder auch Strings werden dann im Ordner /site_cache/ erzeugt und alte Daten gelöscht.
Mein Problem ist nun folgendes:
Nach etwas 3-4 Stunden CronJob (dieses Script) bekomme ich nur noch 404-Meldungen:
Code:
Warning: file(http://www.xyz.de/de/cc/Kategorie1_in_Duisburg/Rubrik_26.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/web3/html/umkreis/cron3b.php on line 391 Warning: implode(): Invalid arguments passed in /var/www/web3/html/umkreis/cron3b.php on line 391
Die Funktion file() bekommt einfach keine Ergebnisse mehr zustande.
Das komische ist, dass es für ca. 100 Rubriken in jeweiligen Kategorien funktioniert. Das o.g. Beispiel mit Duisburg hat 44 Seiten, davon werden die ersten 25 ERZEUGT!!!, nur ab Seite 26 gibts dann keine Ergebnisse.
Achja, die Seiten lassen sich bei mir im Browser aufrufen! Sie existieren also bzw. die RewriteRules funktionieren und die Ergebnisse sind nicht leer.
Ich danke euch schon jetzt im Voraus für jeden Tipp, den Ihr mir geben könnt - bin echt am verzweifeln!
Kommentar