Heim >Backend-Entwicklung >PHP-Problem >So lösen Sie das Problem des fsockopen PHP-Vorgangsfehlers
Der fsockopen-PHP-Vorgang ist aufgrund eines Servereinstellungsproblems fehlgeschlagen und localhost wurde nicht überwacht. Die Lösung besteht darin, die Servernetzwerkumgebung zurückzusetzen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Spezifische Fragen:
php fsockopen lokaler Fehler? Wie kann das Problem des fsockopen PHP-Betriebsfehlers gelöst werden?
Bei der Verwendung von fsockopen zum Durchführen eines asynchronen Aufrufs ist ein Fehler aufgetreten. Derselbe Code verursachte unter Alibaba Cloud Centos und Tencent Cloud Win2008 keine Probleme.
Schreiben Sie die Hostadresse als 127.0.0.1 oder es erscheint „localhost“:
Warnung: fsockopen(): Verbindung kann nicht hergestellt werden, da der Zielcomputer dies aktiv ablehnt. (10061)
host schreibt den aktuellen Serverdomänennamen und erscheint:
Warnung: fsockopen(): Der Verbindungsversuch ist fehlgeschlagen, weil die Verbindungspartei nach einer gewissen Zeit nicht richtig geantwortet hat oder der verbundene Host nicht geantwortet hat. (10060)
Die aktuelle Server-Intranet-IP der Hostadresse ist 192.168.3.3. Die Antwort ist normal und es liegt kein Fehler vor.
Darüber hinaus gibt es kein Problem, wenn der Server fsockopen für andere Server ist oder wenn andere Server den Server fsockopen möchten und normal gesendet werden können.
Der Code lautet wie folgt:
function async_post($host,$path,$data){ $post = http_build_query($data); $len = strlen($post); $fp = fsockopen( $host , 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)\n"; } else { $out = "POST $path HTTP/1.1\r\n"; $out .= "Host: $host\r\n"; $out .= "Content-type: application/x-www-form-urlencoded\r\n"; $out .= "Connection: Close\r\n"; $out .= "Content-Length: $len\r\n"; $out .= "\r\n"; $out .= $post."\r\n"; fwrite($fp, $out); fclose($fp); } }
Letztendlich wird er über die Intranet-IP aufgerufen, aber warum ist das so?
Lösung:
Die Grundursache des Problems wurde gefunden:
Problem mit der Servereinstellung, Localhost wird nicht überwacht
Server-Netzwerkumgebung, ich weiß nicht, welcher Netzwerkadministrator das verursacht hat, der Server kann nicht auf sich selbst zugreifen über die externe Netzwerk-IP.
Dies führt dazu, dass auf fsockopen nur über 192 zugegriffen werden kann.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des fsockopen PHP-Vorgangsfehlers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!