Hier ist der vollständige Kontext der Situation:
Ich habe vor kurzem einen neuen Mac, ich bin ein PHP-Entwickler, also habe ich MAMP heruntergeladen und angefangen zu entwickeln.
Zuerst habe ich festgestellt, dass meine Includes nicht enthalten waren, aber ich habe das geändert, indem ich meine php.ini
konfiguriert habe.
Aber jetzt, wenn ich versuche, eine Datei mit einer Funktion zu versehen, erkennt sie die Funktion nicht.
Zum Beispiel habe ich eine Datei namens functions.php
:
und eine Datei namens index.php
%Vor%und ich bekomme diese Fehlermeldung
Fataler Fehler: Aufruf von undefinierter Funktion doit () in index.php in Zeile 4
Wenn also irgendjemand in diesem Forum stolpert, weil sie das gleiche Problem haben, dann lasst mich erklären, was und warum es schiefgelaufen ist.
Wenn Sie eine Funktion hinzufügen, die sich nicht in Ihrem Verzeichnis befindet (z. B. c: // oder file: //), verwenden Sie stattdessen http. Das Include kann nur das zurückgeben, was in der Datei widergegeben wurde, aber etwas wie eine Variable oder Funktion wird nicht angezeigt. Also füge immer Funktionen und Variablen durch ein Verzeichnis
einManchmal ist das aktuelle Verzeichnis nicht das, was Sie erwarten, z. B. wenn Sie eine Datei aus einer enthaltenen Datei einschließen.
Ich möchte $_SERVER['DOCUMENT_ROOT']
auf meinen Includes verwenden, damit ich sie immer absolut aus dem Stamm meiner Site referenzieren kann:
Wenn sich Ihr includes-Verzeichnis oberhalb Ihres Dokumentstammverzeichnisses befindet, können Sie ..
verwenden, um weiterhin vom Stammverzeichnis aus darauf zu verweisen.
Versuchen Sie require () anstelle von include. Vielleicht ist ein Fehler vorhanden und Fehler werden nicht angezeigt.
Ich habe auch dieses Problem bekommen.
In meinem Fall finde ich heraus, dass es möglicherweise Ihre "functions.php" -Datei ist, die Berechtigung verweigert.
Bitte versuchen Sie "chmod 777 functions.php" im Server.
Lassen Sie die functions.php auf dem Webserver ausführen.
Danke Thatjuan, wenn ich benutze require () benutze, zeige der Server die richtige Fehlermeldung.
Tags und Links php function include-path