Fehlermeldung nach neuinstallation
Ralf
- php
0 Christian Seiler0 Ralf0 Christian Seiler0 Ralf
Hallo zusammen.
Ich habe eine Internetseite programmiert die auch seit mehreren Monaten auf unserem Server (Linux) ohne Probleme gelaufen ist.
Nun haben wir unseren Server komplett neu eingerichtet (von Suse 7.3 auf Suse 8.2) und nun bekomme ich folgende Fehlermeldung "Fatal error: Cannot redeclare set_doerror() in /intranet/php/mysqldb.php on line 125" wenn ich auf Seiten gehe die php enthalten.
Kann mir jemand einen Tip geben was ich vergessen haben könnte.
Ich habe apache, php und Mysql installiert und auch getestet.
Es scheint alles zu laufen bis auf diese Meldung.
Danke im vorraus.
Gruß Ralf
Hallo Ralf,
Nun haben wir unseren Server komplett neu eingerichtet (von Suse 7.3 auf Suse 8.2) und nun bekomme ich folgende Fehlermeldung "Fatal error: Cannot redeclare set_doerror() in /intranet/php/mysqldb.php on line 125" wenn ich auf Seiten gehe die php enthalten.
Kann mir jemand einen Tip geben was ich vergessen haben könnte.
Ich denke, die Datei /intranet/php/mysqldb.php wird zwei mal eingebunden. So sieht es zumindest aus. Die Fehlermeldung besagt nämlich, dass Du eine neue Funktion bereitstellen willst, deren Namen bereits existiert. Folgende PHP-Datei ruft die gleiche Fehlermeldung hervor:
<?php
function a ($hallo) {
return false;
}
function a ($hallo, $tschuess) {
return true;
}
?>
Oder alternativ:
------------------ a.php ------------------
<?php
include ('b.php');
include ('b.php');
?>
-------------------------------------------
------------------ b.php ------------------
<?php
function hallo () {
return true;
}
?>
-------------------------------------------
Letzteres wird bei Dir der Fall sein. Ein Tipp: Wenn Du statt include include_once verwendest, hast Du das Problem nicht.
Viele Grüße,
Christian
Hallo Christian
Danke für Deine Antwort.
Was ich nur nicht verstehe ist das vor der Umstellung auf Suse 8.2 alles lief und ich seid dem nichts an der Seite geändert habe.
Dennoch habe ich es nachgesehen und auch mal den Befel include_once verwendet, leider ohne Erfolg.
Haste vieleicht noch ein Tip ?
Gruß
Ralf
Hallo Ralf,
Was ich nur nicht verstehe ist das vor der Umstellung auf Suse 8.2 alles lief und ich seid dem nichts an der Seite geändert habe.
Hmmmm. Falsche Version einiger Dateien aufgespielt?
Haste vieleicht noch ein Tip ?
Durchsuche mal alle Dateien nach folgendem Inhalt: "function set_doerror"
Also z.B. mit
grep "function set_doerror" find /intranet/php -name "\*.php"
Wenn es zwei mal auftaucht, dann siehst Du das Problem.
Viele Grüße,
Christian
Hallo Christian,
Super.
Ich habs gefunden Du hattest recht es war zweimal die function vorhanden (warum auch immer ??).
Jetzt funktionierts.
Danke nochmals.
Gruß
Ralf