Wenn Sie beim Schreiben eines Projekts in PHP auf die Fehlermeldung PHP Fatal error: Uncaught Error: Call to undefined function json_encode() stoßen, geraten Sie nicht in Panik. Dies liegt daran, dass Ihre PHP-Version die Funktion json_encode() nicht unterstützt. Die Funktion json_encode() ist eine sehr häufig verwendete Funktion in PHP, mit der Arrays oder Objekte in JSON-Strings konvertiert werden. Wie kann dieser Fehler behoben werden? Schauen wir uns die Lösung unten an.
Zuerst müssen Sie Ihre aktuelle PHP-Version überprüfen. Wenn Ihre PHP-Version niedriger als 5.2.0 ist, müssen Sie zuerst PHP auf höher als 5.2.0 aktualisieren. Die Funktion json_encode() wurde ab Version 5.2.0 eingeführt.
Sie können php -v im Terminal oder in der Befehlszeile eingeben, um die aktuelle PHP-Version anzuzeigen.
Wenn Ihre PHP-Version höher als 5.2.0 ist und diese Fehlermeldung weiterhin angezeigt wird, müssen Sie die JSON-Erweiterung installieren.
In einer Windows-Umgebung finden Sie die Datei php_json.dll im ext-Ordner des PHP-Installationsverzeichnisses und kopieren Sie sie in das PHP-Verzeichnis. Fügen Sie dann extension=php_json.dll zur Datei php.ini hinzu, um die JSON-Erweiterung zu aktivieren.
In einer Linux-Umgebung können Sie den folgenden Befehl ausführen, um die JSON-Erweiterung zu installieren:
sudo apt-get install php7.0-json
sudo service php7.0-fpm restart
Der obige Befehl dient nur als Referenz. Abhängig von Ihrer PHP-Version zur Anpassung.
Wenn Sie die JSON-Erweiterung installiert haben und immer noch diese Fehlermeldung erhalten, kann es daran liegen, dass die JSON-Erweiterung nicht aktiviert ist. Sie können die JSON-Erweiterung aktivieren, indem Sie den folgenden Inhalt in der php.ini-Datei hinzufügen:
extension=json.so
oder die JSON-Erweiterung manuell im Code aktivieren:
if (!function_exists('json_decode')) {
function json_decode($content, $assoc = false) { require_once 'Services/JSON.php'; if ($assoc) { $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } else { $json = new Services_JSON; } return $json->decode($content); }
}
if (!function_exists('json_encode')) {
function json_encode($content) { require_once 'Services/JSON.php'; $json = new Services_JSON; return $json->encode($content); }
}
In dieser Methode definieren wir manuell die Funktionen json_encode() und json_decode(), wodurch sichergestellt wird, dass unser Code unter jeder ausgeführten PHP-Version funktionieren kann korrekt.
Zusammenfassung
Von den oben genannten drei Methoden wird die zweite Methode am meisten empfohlen, nämlich die Installation der JSON-Erweiterung. Dies löst nicht nur das Problem der Funktion json_encode(), sondern ermöglicht Ihnen auch die Verwendung weiterer JSON-bezogener Funktionen und Tools. Um sicherzustellen, dass Ihr Projekt in verschiedenen Umgebungen normal ausgeführt werden kann, empfehlen wir gleichzeitig, dass Sie den oben genannten Inhalt zu Ihrem Code hinzufügen, um sicherzustellen, dass er in Umgebungen ohne JSON-Erweiterung ausgeführt werden kann.
Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion json_encode(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!