Und aus irgendeinem Grund bekomme ich immer den Fehler:
Schwerwiegender Fehler: Generate_salt() (zuvor in /Applications/MAMP/htdocs/question-air/includes/functions.php:5 deklariert) kann in /Applications/MAMP/htdocs/question-air/includes/functions.php nicht online neu deklariert werden 13
Ich kann nicht herausfinden, warum oder wie ein solcher Fehler auftreten konnte. Irgendwelche Ideen?
Dieser Fehler besagt, dass Ihre Funktion bereits definiert ist; was bedeuten kann:
Sie haben dieselbe Funktion in zwei Dateien definiert
oder Sie haben dieselbe Funktion an zwei Stellen in derselben Datei definiert
oder die Datei, in der Ihre Funktion definiert ist, ist zweimal enthalten (also scheint die Funktion zweimal definiert zu sein)
Um beim dritten Punkt zu helfen, wäre eine Lösung zu verwenden include_once anstatt include wenn Sie Ihre einschließen functions.php Datei — kann also nicht mehr als einmal eingefügt werden.
Hu ; Ich nehme an, die angegebenen Zeilennummern sind nicht “genau” ; ; oder, nur als Vorsichtsmaßnahme: Sind Sie sicher, dass Sie sich die “richtige” Datei ansehen?
– Pascal Martin
23. Dezember 2009 um 16:40 Uhr
Dies ist die einzige Datei, die eine generate_salt()-Funktion hat.
– Fischmensch
23. Dezember 2009 um 16:42 Uhr
was bedeutet, dass es wahrscheinlich mehr als einmal enthalten ist
– Pascal Martin
23. Dezember 2009 um 16:45 Uhr
Ja, ich denke, das ist es – wie man es repariert, weiß ich nicht, da ich dieses Projekt ziemlich schlecht eingerichtet habe. Ich denke, sollte wahrscheinlich neu starten.
– Fischmensch
23. Dezember 2009 um 16:47 Uhr
Die Verwendung von include_once anstelle von include (und require_once anstelle von require) hilft in solchen Situationen oft: Auf diese Weise stellt PHP selbst sicher, dass eine Datei nicht mehr als einmal eingebunden wird
– Pascal Martin
23. Dezember 2009 um 16:52 Uhr
T.Todua
Lösung 1
Deklarieren Sie keine Funktion innerhalb einer Schleife (wie z foreach, for, while…) ! Erklären Sie vor ihnen.
Lösung 2
Sie sollten diese Datei (in der diese Funktion vorhanden ist) nur einmal einschließen. Damit,
anstatt : include ("functions.php");
verwenden: include_once("functions.php");
Lösung 3
Wenn keiner der oben genannten Punkte hilft, fügen Sie vor der Funktionsdeklaration eine Überprüfung hinzu, um eine erneute Deklaration zu vermeiden:
if (!function_exists('your_function_name')) {
function your_function_name() {
........
}
}
Wahrscheinlich binden Sie die Datei functions.php mehr als einmal ein.
Sie können zuerst prüfen, ob der Name Ihrer Funktion nicht vorhanden ist oder nicht, bevor Sie die Funktion By schreiben
if (!function_exists('generate_salt'))
{
function generate_salt()
{
........
}
}
ODER Sie können den Namen der Funktion in einen anderen Namen ändern
Mohammed Aslam C
In meinem Fall lag es an einer Funktion innerhalb einer anderen Funktion! Sobald ich die Funktion ausgezogen habe, war der Fehler weg und alles funktionierte wie erwartet.
Diese Antwort erklärt, warum Sie nicht verwenden sollten Funktion innerhalb der Funktion.
Das könnte jemandem helfen.
Was ist falsch daran, eine Funktion in eine Funktion aufzunehmen?
– BSUK
9. Dezember 2016 um 16:29 Uhr
diese Antwort hat mir geholfen
– David Addoteye
5. Dezember 2018 um 3:43 Uhr
Das war die Erklärung für mein Problem.
– mach128x
2. April 2020 um 21:40 Uhr
römisch
Ich hatte ein seltsames Verhalten, als meine *.php.bak (die automatisch von Notepad erstellt wurde) in die Kompilierung aufgenommen wurde. Nachdem ich alle *.php.bak aus dem Ordner entfernt hatte, war dieser Fehler verschwunden. Vielleicht ist dies für jemanden hilfreich.
Was ist falsch daran, eine Funktion in eine Funktion aufzunehmen?
– BSUK
9. Dezember 2016 um 16:29 Uhr
diese Antwort hat mir geholfen
– David Addoteye
5. Dezember 2018 um 3:43 Uhr
Das war die Erklärung für mein Problem.
– mach128x
2. April 2020 um 21:40 Uhr
Fabio sagt, Monica wieder einzusetzen
Ein weiterer möglicher Grund für diesen Fehler ist, dass Ihre Funktion denselben Namen wie eine andere in PHP integrierte Funktion hat. Zum Beispiel,