PHP funktioniert nicht? Funktion nicht enthalten

7

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 :

%Vor%

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

    
Tom 23.04.2011, 03:47
quelle

5 Antworten

7

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

ein     
Tom 23.04.2011, 12:49
quelle
19

Manchmal 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:

%Vor%

Wenn sich Ihr includes-Verzeichnis oberhalb Ihres Dokumentstammverzeichnisses befindet, können Sie .. verwenden, um weiterhin vom Stammverzeichnis aus darauf zu verweisen.

    
Sean Adkinson 23.04.2011 04:04
quelle
3

Versuchen Sie require () anstelle von include. Vielleicht ist ein Fehler vorhanden und Fehler werden nicht angezeigt.

    
SuitedSloth 23.04.2011 03:50
quelle
0

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.

    
Andrew Kin Fat Choi 24.08.2016 10:26
quelle
0

Bei mir lag das Problem an einem Funktionsnamen in der enthaltenen Datei, der den gleichen Namen wie eine Funktion in der Ausgangsdatei hat.

Ich habe alle Funktionsnamen eindeutig gemacht und habe das Problem nicht mehr.

    
Paul B 17.04.2017 17:19
quelle

Tags und Links