Seite lädt nicht nach release ohne get parameter

Ich habe ein sehr merkwürdiges Problem:

Jedes Mal, nachdem ich meinen Code released habe kann ich meine Seite nicht aufrufe. Ich sehe eine weiße Seite und habe auch keine Fehler in den LOG-Dateien.

Das merkwürdige ist, sobald ich nur ein Mal den GET-Parameter ?debug=3 eingebe, läuft die Seite normal und von da an auch ohne den GET-Parameter, bis ich wieder meinen Code neu release.

Die zweite Merkwürdigkeit: das passiert auf meinem Mac, aber unabhängig davon auch auf jedem Handy, d.h. ich muss auf jedem Gerät ein Mal mit ?debug=3 aufrufen, damit die Seite aufrufbar ist.

Ich benutze PHP mit dem CakePHP-Framework. In der core.php habe ich debug so definiert:

if (isset($_GET[‚debug‘]))
{
Configure::write(‚debug‘, $_GET[‚debug‘]);
}
else
{
Configure::write(‚debug‘, 0);
}

Ich weiß nicht annähernd, woran das liegen kann.

Wäre jedem sehr dankbar, wenn er mir helfen könnte.

Ich hatte auch mal so merkwürdige Probleme, allerdings nur „ähnlicher“ Art (Whitescreen, aber nicht gekoppelt an Deploy oder Parameteraufruf). Da der Fehler auf den ersten Blick nicht am Code liegt, würde ich mal probieren, ob der Fehler in einer anderen Serverumgebung reproduziert werden kann, bspw. einer frischen, aktuellen XAMPP-Installation.

Falls es auch in anderen Umgebungen auftritt, kann man Bugs des XAMP-Stacks dann doch eher ausschließen (die waren bei mir die Ursache). Dann wäre meine Vermutung, dass es mit einem Bug im Framework zusammenhängt, was aber auch wiederum unwahrscheinlich ist aufgrund der vielen Nutzer. Evtl. ist es auch eine Kombination von beidem, dann würde ich vermuten, dass es mit dem Session-Handling zusammenhängt, aber man müsste sich den entsprechenden Code in Configure mal anschauen. Ändert sich denn etwas, wenn der oben genannte Code komplett auskommentiert wird?

Ändert sich denn etwas, wenn der oben genannte Code
komplett auskommentiert wird?

Hallo,

danke erstmal.
Nein, es ändert sich nichts, wenn ich das auskommentiere.

Ergänzend kann ich hinzufügen, dass ich in der access_log den http status 500 bekomme.

Vielleicht hilft dieser Ausgangspunkt http://www.cyberciti.biz/tips/http-error-500-interna…

500er sind schon sehr „hart“ und haben ihre Ursache eher im Server als im Skript. Von daher teste wie gesagt mal in einer anderen Umgebung und schau was passiert.

Hi skee,

ich würd es mal mit error_reporting von php ausprobieren.
damit mindestens etwas ausgegeben bekommst wenn es einem Fehler im quelltext gibt.

<?php // Error Reporting komplett abschalten
error\_reporting(0); // Nur einfache Fehler melden error\_reporting(E\_ERROR | E\_WARNING | E\_PARSE); // E\_NOTICE ist sinnvoll um uninitialisierte oder // falsch geschriebene Variablen zu entdecken error\_reporting(E\_ERROR | E\_WARNING | E\_PARSE | E\_NOTICE); // Melde alle Fehler außer E\_NOTICE // Dies ist der Vorgabewert in php.ini error\_reporting(E\_ALL ^ E\_NOTICE); // Melde alle PHP Fehler error\_reporting(E\_ALL); // Dies entspricht error\_reporting(E\_ALL); ini\_set('error\_reporting', E\_ALL); ?\> hoffe das hift dir ein bisschen weiter ... ansonsten was ich empfehle nur eine zeile zu verwenden Entwicklung: Configure::write('debug',3); Normal: Configure::write('debug',0);

Hi skee,

ich persönlich habe nie Cake genutzt, von daher gibt es wahrscheinlich geeignetere Ansprechpartner, aber einen Versuch will ich mal starten :smiley:
Die Zauberkugel sagt:

http://cake-php.blogspot.com/2006/09/21-things-you-m…

„When I changed from the development server to the live server I tarred up my entire cake directory and scp’d it to the new server. Immediately I started having an issue where any time the debug level was set to 0 (production mode), data would not be returned for certain database calls. This was a bit of a catch 22 since I needed to view debug information to troubleshoot the problem.
Someone in #cakephp kindly pointed out that permissions on the /app/tmp folder need to be writeable by apache. I changed the permissions to 777 and the issue went away.“

Wenn ich es richtig verstanden hab, passt die Problembeschreibung auf deines, also versuch dochmal die Rechte von /app/tmp auf 777 zu setzen :smile:

Hoffe ich konnte helfen,
Matthias

Ich würde ganz einfach das else weglassen…

Habe ich gerade versucht, weil es zu schöne wäre, wenn es so einfach gelöst werden könnte, aber… negativ :frowning: Leider liegt der Hund woanders begraben.

Danke!

Weder der erste noch der zweite Hinweis hat geholfen :frowning: Aber vielen Dank für die Tipps!

Alles ausprobiert, leider ohne Erfolg :frowning: Keine Fehler sichtbar.

Mit Configure::write(‚debug‘,0); geht’s nicht. Stelle ich 1, 2 oder 3 ein, läuft es.

Immer noch keine Ahnung, was hier schief läuft.

In meiner privaten Umgebung (XAMP) läuft es einwandfrei.

Ich würde ganz einfach das else weglassen…

Habe ich. Sobald ich etwas anderes als 0 benutze, läuft es. Im Debugmodus 0 nicht, erst wenn mindestens ein Mal im anderen Modus aufgerufen wurde.

Was ist sowieso nicht verstehe ist, warum du genau diese debug datei nutzt…erkläre das ganze drum herum mal ganz genau, damit ich mir ein bild machen kann.,…vllt nen link

Ich habe ein sehr merkwürdiges Problem:

Jedes Mal, nachdem ich meinen Code released habe kann ich
meine Seite nicht aufrufe. Ich sehe eine weiße Seite und habe
auch keine Fehler in den LOG-Dateien.

Hallo skee,

sorry, ich habe deine Anfrage übersehen.
Ist das Problem noch aktuell, oder bereits gelöst?

greetz, me

Das hat sich erledigt. Es lag an den Cache-Dateien unter tmp/cache
Da sich die Tabellen in der DB geringfügig verändert haben, mussten diese Dateien gelöscht werden, dann ging wieder alles.

Danke