mIRo: Umstieg auf PHP5: Problem mit Konstanten!?

Hallo Zusammen,

mein Provider hat mir heute angekündigt, dass er auf PHP5 umstellen wird. Habe nun soeben meine Skripte mit PHP5 getestet, klappt alles soweit, leider gibt es aber bei einem ein Problem, d.h. es läuft überhaupt nicht. Ich habe nun versucht per debugging den Fehler einzugrenzen, was mir soweit gelungen ist, aber ich werde aus der Sache nicht richtig schlau...

Wenn ich das entsprechende Skript aufrufe, dann läd die seite ewig im browser, aber es kommt nie eine ausgabe, d.h. auch keine Fehlermeldung. Klingt nach einer Endlosschleife....kann aber nicht sein: Das Skript lief ja so unverändert ohne Probleme mit PHP4.

Es geht um folgendes:

Ich hab ein kleines CMS, dass über eine zentrale php datei ("index.php") gestuert wird. Diese beginnt wie folgt:

###########################################
.....
// config datei laden
require('inc/config.php');

// Sprache laden
adm_load_lang($lang);

// Navigation laden
require('inc/navbar.php');

die("debug");

// hier folgt der weitere code
.....

##########################################

ich habe mit dem die() schrittweise getestet welche befehle ausgeführt werden und der fehler ist schließlich bei "require('inc/navbar.php');" aufgetreten.

Hier ein Auszug aus der Datei "navbar.php":
############################################
..........

// Hauptmenu
$menuTitles = array(
 index=>'Homepage',
 content=>'Content',
        ...........
);

// Seitentitel
$pageTitles = array(
 index=>A_INDEX_TITLE,
 content=>A_CONTENT_TITLE,
        ..........
);

...........
############################################

Nachdem ich auch hier schrittweise die einzelnen Arrays auskommentiert habe, ist mir aufgefallen, dass der Fehler wohl an dem Array $pageTitles liegt: War dieses Array auskommentiert, dann lief das Skript soweit.
Dieses Array enthält Seitennamen, die in Form von Konstanten in dem Array gespeichert werden. Die entsprechenden Konstanten stehen in der Sprachdatei und werden ja VOR der array Definition geladen. Ich hab mir mal probeweise ein paar Konstanten per echo in der index.php ausgegeben lassen - das hat geklappt.
Aber irgendwie gefällt PHP5 diese Konstanten-Array-Zuweiung nicht. Ich hab leider keine Ahnung woran das liegen kann.....:-(((

Ums nochmal deutlich zu sagen: Mit PHP4 lief das ohne Probleme. Meine anderen Skripte laufen auch mit PHP5.

Wahrscheinlich ist es total offensichtlich und ich sitz gerade gewaltig auf der leitung ;-)

Hatt jemand hier im Forum vielleicht eine Idee?

Grüße
mIRo

  1. Hi,

    Dieses Array enthält Seitennamen, die in Form von Konstanten in dem Array gespeichert werden. Die entsprechenden Konstanten stehen in der Sprachdatei und werden ja VOR der array Definition geladen. Ich hab mir mal probeweise ein paar Konstanten per echo in der index.php ausgegeben lassen - das hat geklappt.
    Aber irgendwie gefällt PHP5 diese Konstanten-Array-Zuweiung nicht. Ich hab leider keine Ahnung woran das liegen kann.....:-(((

    Wir auch nicht. Denn den relevanten Code hast Du uns ja nicht gezeigt.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hey,

    [...] es kommt nie eine ausgabe, d.h. auch keine Fehlermeldung. Klingt

    Dann probier`s doch mal spaßenshalber mit
    error_reporting(E_ALL|E_STRICT);

    $pageTitles = array(
    index=>A_INDEX_TITLE,

    Und so du hier nicht vorher schon define("index", "index"); irgendwo
    stehen hast, solltest du "index" in Gänsefüßchen setzen, wenn du es
    als Array-index verwenden willst. Immer.

    G,
    milky

    1. stehen hast, solltest du "index" in Gänsefüßchen setzen, wenn du es
      als Array-index verwenden willst. Immer.

      juhu! daran lags. vielen dank!!!

      komisch, dass PHP4 sich nicht daran gestört hat, weder lokal noch beim hoster....seis drum.

      nochmals ein danke schön.

      Grüße
      mIRo