Heim >Backend-Entwicklung >PHP-Tutorial >Entwicklung des öffentlichen WeChat-Kontos --- Problem mit dem Wert des WeChat-Anforderungsservers
Ich habe kürzlich ein offizielles WeChat-Konto erstellt und einige neue Dinge gelernt. Ich werde sie hier aufzeichnen und hoffe, dass sie anderen helfen können
<span>public function </span><span>responseMsg</span>() { <span>// $requestStr = $_REQUEST['mpxml']; //线下测试放开 </span><span>$requestStr </span>= <span>$GLOBALS</span>[<span>"HTTP_RAW_POST_DATA"</span>]<span>;</span><span>//上线放开 </span><span>if</span>(<span>$requestStr</span>==<span>''</span>)<span>$requestStr </span>= file_get_contents(<span>"php://input"</span>)<span>;</span><span>//上线放开 </span><span>$this</span>-><span>Log</span>-><span>output</span>(<span>'req'</span><span>, </span><span>"请求报文" </span>. <span>$requestStr</span>)<span>; </span><span>if </span>(!<span>empty</span>(<span>$requestStr</span>)) { <span>$postObj </span>= simplexml_load_string(<span>$requestStr</span><span>, </span><span>'SimpleXMLElement'</span><span>, </span><span><em>LIBXML_NOCDATA</em></span>)<span>; </span><span>$fromUsername </span>= <span>$postObj</span>-><span>FromUserName</span><span>; </span><span>$toUsername </span>= <span>$postObj</span>-><span>ToUserName</span><span>; </span><span>$msgType </span>= <span>$postObj</span>-><span>MsgType</span><span>; </span><span>$keyword </span>= trim(<span>$postObj</span>-><span>Content</span>)<span>; </span><span>$arr </span>= <span>array</span>(<span>'fromUsername' </span>=> <span>$fromUsername</span><span>, </span><span>'toUsername' </span>=> <span>$toUsername</span><span>, </span><span>'msgType' </span>=> <span>$msgType</span><span>, </span><span>'keyword' </span>=> <span>$keyword</span><span>, </span><span>'postObj' </span>=> <span>$postObj</span>)<span>; </span><span>$responseStr </span>= <span>$this</span>-><span>controllers</span>-><span>index</span>(<span>$arr</span>)<span>; </span><span>$this</span>-><span>Log</span>-><span>output</span>(<span>'res'</span><span>, </span><span>"应答报文" </span>. <span>$responseStr</span>)<span>; </span><span>echo </span><span>$responseStr</span><span>; </span>} <span>else </span>{ <span>echo </span><span>''</span><span>; </span><span>exit</span><span>; </span>} }
Das Obige ist Teil des Codes zum Verarbeiten von Nachrichten
<span>$requestStr = $_REQUEST['mpxml']; </span>Akzeptieren Sie natürlich den Wert von name als mpxml
Aber nachdem der Servercode online ist, sollte das Schreiben auf diese Weise nicht in der Lage sein, die von WeChat vom Server gesendete Anforderungsnachricht (XML-Format) zu akzeptieren. Entweder
<span>$requestStr </span>= <span>$GLOBALS</span>[<span>"HTTP_RAW_POST_DATA"</span>]<span>;</span><span>//上线放开</span>oder
<span>$requestStr </span>= file_get_contents(<span>"php://input"</span>)<span>;</span><span>//上线放开</span>können Anforderungsnachrichten von WeChat empfangen. Sie belastet den Speicher weniger und erfordert keine speziellen php.int-Einstellungen.
Das Obige hat die Entwicklung öffentlicher WeChat-Konten vorgestellt – das Problem des WeChat-Anforderungsserverwerts, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die an PHP-Tutorials interessiert sind.