So lösen Sie das Problem des fsockopen PHP-Vorgangsfehlers

藏色散人
Freigeben: 2023-03-11 16:02:01
Original
2965 Leute haben es durchsucht

Der fsockopen-PHP-Vorgang ist aufgrund eines Servereinstellungsproblems fehlgeschlagen und localhost wurde nicht überwacht. Die Lösung besteht darin, die Servernetzwerkumgebung zurückzusetzen.

So lösen Sie das Problem des fsockopen PHP-Vorgangsfehlers

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);
    }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!