Leere Seiten

Gesperrt
ReHa
Beiträge: 14
Registriert: Mo 6. Aug 2007, 16:33
Kontaktdaten:

Leere Seiten

Beitrag von ReHa »

Hi,

habe Contenido in 3 versch. Projekten eingesetzt. In allen drei Projekten kommt es in der aktuellen Version 4.6.23 zu folgendem Effekt:

Beim Aufruf einer Frontend-Seite über "front_content.php" (egal ob mit oder ohne Parameter) erscheint zunächst nur eine total leere Seite (dazu auch keinerlei Quelltext sichtbar).

Wiederholt man den Request 3-6 Mal, erscheint nach dem 3. bis 6. Request dann doch der Inhalt.

Weder in den Contenido- noch in den PHP- noch in den MySQL- noch in den Apache-Errorlogs ist ein Fehler verzeichnet.

Hat jemand eine Idee woran das liegen könnte? Danke für eure Antwort!!

ReHa
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Ich würde mal auf eine zeitliche, bzw. größenmässige, Begrenzung von PHP-Scripten auf dem Server tippen.

Eine phpinfo.php auf den Server/Webspace legen und nach folgenden Werten schauen.
max_execution_time und memory_limit
Allermeist ist es der 1. Wert, der sollte minimum 20 betragen.

Bei eigenem root-Zugang auf den Server kann man diesen in der php.ini ändern, bei Confixx oder Plesk über einen httpd - Eintrag, ansonsten den Provider fragen.

Wie gesagt, das Ganze ist eine Vermutung, ohne näheres Draufschaun ist da schwer was zu sagen. :roll:

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
ReHa
Beiträge: 14
Registriert: Mo 6. Aug 2007, 16:33
Kontaktdaten:

Beitrag von ReHa »

Nein - beides nicht der Fall:
Das Script läuft 0,26 Sekunden durch.
Webserver antwortet auch mit einem korrekten HTTP-Header - Nur der CONTENT ist LEER.

Das ganze ist auch noch auf dem Entwicklungsrechner, mit max_execution_time=180 und memory_limit=64M - Ausserdem würde ja auch eine PHP-Error-Message erzeugen.

Es muß wohl an einem Bug in der front_content.php liegen
Zuletzt geändert von ReHa am Di 27. Nov 2007, 10:46, insgesamt 1-mal geändert.
ReHa
Beiträge: 14
Registriert: Mo 6. Aug 2007, 16:33
Kontaktdaten:

Beitrag von ReHa »

Könnte es auch am Contenido-Caching liegen? Wo kann man dieses abschalten?

ReHa
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Ausserdem würde ja auch eine PHP-Error-Message erzeugen.
da würde ich nicht drauf wetten... nicht jeder fehler führt dazu das er mitprotokolliert/angezeigt wird...

ich würd mal versuchen das memory_limit raufzusetzen...
und eventuell breakpoints ins script reinbauen um zu schauen wie weit es überhaupt kommt...
Das Script läuft 0,26 Sekunden durch.
woher weisst du das wenn du keinen output hast ?
Könnte es auch am Contenido-Caching liegen? Wo kann man dieses abschalten?
nein, nein
*** make your own tools (wishlist :: thx)
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Evtl. steigt auch MySQL vorher aus, dann wird auch nur ne leere Seite ausgeliefert.

Passiert der Fehler auch bei eine Standardinstallation von Contenido?
Wenn nein, dann mal deine eigenen Module usw. erst nach und nach einbauen.

Gruß aus Franken

Ortwin

PS: Ein Bug ist hier recht unwahrscheinlich.
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
ReHa
Beiträge: 14
Registriert: Mo 6. Aug 2007, 16:33
Kontaktdaten:

Beitrag von ReHa »

Doch ein Bug!

Habe das ganze mal debuggt:

Es liegt an der "front_content.php" mit

Code: Alles auswählen

$cfg["use_pseudocron"] == true
Dann wird

Code: Alles auswählen

cInclude("includes", "pseudo-cron.inc.php");
includiert.

Hierbei kommt es zu einem verschachtelten Mehrfachaufruf von
"functions.api.general.php"

Sobald dann eine der darin enthaltenen Funktionen zum zweiten mal deklariert wird kommts zum Scriptabbruch!

Abhilfe:

Code: Alles auswählen

$cfg["use_pseudocron"] = false;
setzen
oder die Funtionen in "functions.api.general.php"
jeweils mit

Code: Alles auswählen

if (!function_exists('XXX'))
kapseln.

Da ich ansonsten neu bin hier:
- Wer macht den Bugfix?
- Was hat es für Nebenwirkungen, wenn ich

Code: Alles auswählen

$cfg["use_pseudocron"] = false;
setze?

ReHa
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Das kann ich so nicht nachvollziehen!!!

In der pseudo-cron.inc.php wird an keiner Stelle die functions.api.general.php eingebunden. Das musst du noch mal genauer definieren, wo bei dir da ein verschachtelter Mehrfachaufruf vorkommt.

Bisher definitiv kein Bug!

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Gesperrt