Lösungen, wenn PHP keine XML-Daten empfangen kann: 1. Verwenden Sie die Methode „file_get_contents('php://input');“ 2. Verwenden Sie „simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement' , LIBXML_NOCDATA);“-Methode zum Empfangen von XML-Daten.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Was soll ich tun, wenn PHP keine XML-Daten empfangen kann?
In Bezug auf einige Probleme mit PHP, die XML akzeptieren, kann simplexml_load_string keine Daten empfangen.
Verwenden Sie im Allgemeinen diese beiden Methoden, um XML-Daten zu akzeptieren.
Methode 1:
file_get_contents('php://input');
Methode 2:
simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);
Es wird empfohlen, Methode 1 und Methode 2 zu verwenden in PHP Die Version mit höherer Version wurde verworfen
---------------------Schöne Trennlinie-------------- - ---
Vorwort: Die Projekte des Unternehmens sind etwas alt und alle verwenden Methode 2.
Problem: Wenn ich Curl verwende, um eine von anderen geschriebene Schnittstelle anzufordern, kann Methode 2 sie nicht empfangen, Methode 1 jedoch.
Lösung: Nach dem Testen ist der Content-Type im Parameter cur, der festgelegt werden muss, text/xml
Code: curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf- 8" ));
Der Standardwert von Content-Type im PHP-Parameter cur ist application/x-www-form-urlencoded, tmd! Mithilfe von Methode 2 wird der Inhaltstyp des HTTP-Anforderungsheaders ermittelt. Lernempfehlung: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP keine XML-Daten empfangen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!