Ich arbeite auf einer Website mit ein paar Freunden, und vor kurzem haben sich Benutzer über ein ziemlich wichtiges Feature beschwert, das nur eine leere Seite zurückgibt. Dies passiert nur für einige Benutzer, während andere Benutzer in der Lage sind, es vollkommen in Ordnung zu benutzen.Hört PHP manchmal Funktionsdeklarationen?
Ich konsultierte Debug-Ausgabe und es stellt sich heraus, dass eine Funktion zweimal deklariert wird. Einmal auf der Hauptseite des Features (foo.php
) und einer in einer Datei, die require_once
'Ed. Offensichtlich bin ich auf dem richtigen Weg, es jetzt zu beheben, aber was verwirrt mich ist, dass viele Leute nicht bekommen, dieses Problem beim Besuchen der Seite. Beide Funktionsdeklarationen sind identisch; Die Körper scheinen von einer Datei in die andere kopiert und eingefügt worden zu sein. Keine dieser Funktionsdeklarationen ist bedingt; sie sollten beide immer stattfinden.
Kennt jemand Situationen, in denen PHP in der Lage ist, mit meinem Fehler umzugehen und die Seite trotz dieses fatalen Fehlers dennoch funktionieren zu lassen?
zuerst beheben alle mit 'require_once', und je nachdem, welche Seiten besucht werden, kann es Fälle geben, in denen eine Seite eine bestimmte Datei einmal oder mehrmals enthalten hat. – linuxeasy
Wie in der Post gesagt, verwende ich bereits require_once. – Neko
PHP erlaubt keine Funktionsdeklaration mehr als einmal (mit dem gleichen Umfang). Manche Besucher denken anders und schreien nicht. – Dev