Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme bei der Verbindung mit fsockopen.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme bei der Verbindung mit fsockopen.

    ALL-INKL.COM - Webhosting Server Hosting Domain Provider
    Hallo,

    In einem anderen Forum haben sie mir gesagt, das ganze Ding ist nicht mehr zu retten und kompletter müll, ich soll es doch neu Programmieren, seid ihr auch der Ansicht?

    ich habe ein Problem mit fsockopen.
    Wir haben uns ein System gekauft welches einen Shop mit einem Minecraft Server verbindet und dann die Gekauften Produkte per Befehl den nutzern auf dem Server gibt, Problem dabei ist, dass die verbindung immer nach einiger Zeit einfach abbricht und folgende Fehlermeldung erschein:

    Fehler:
    Notice: A non well formed numeric value encountered in /var/www/html/shop/start.php on line 211
    Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/shop/start.php on line 211
    Warning: fsockopen(): unable to connect to tcp://:8 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /var/www/html/shop/start.php on line 211


    Meine Frage ist nun wie kann ich den Fehler beheben?
    Hier mal ein Ausschnitt vom Code:

    PHP-Code:
    function processCommand($username$commands) {

        global 
    $item,$servers,$link;
        foreach(
    $servers as $server) {
            if(
    $server=="*") {
                
    $serverq mysqli_query($link,"SELECT * FROM servers");
                while(
    $selserver=mysqli_fetch_assoc($serverq)) {
                    
    $command "<";
                    foreach(
    $commands as $cmd) {
                        
    $command.=$cmd."|";
                    }
                    
    $command rtrim($command,"|").">";
                    
    $host "tcp://".substr($selserver["ip"],0,strpos($selserver["ip"],":"));
                    
    $port substr($selserver["ip"],strpos($selserver["ip"], ":")+1);
                    
    $password $selserver["pass"];

                    
    $search = array("%player%","%item%");
                    
    $replace = array($username,$item);
                    
    $command str_replace($search$replace$command);
                    
    $errstr '';
                    
    $errno '';
                    
    $data $password " " $username " [" $item "] " $command;

                    if ( (
    $fp fsockopen($host$port$errno$errstr3) ) === FALSE)
                        echo 
    "$errstr ($errno)";
                    else {
                        echo 
    'Request completed!</br>';
                        
    fwrite($fp$data);
                        
    fclose($fp);
                    }
                    echo 
    $data."<br/>";
                    }
                die(
    '<script>window.location.href = "./index.php?info=Success";</script>');
            } else {
                
    $command "<";
                foreach(
    $commands as $cmd) {
                    
    $command.=$cmd."|";
                }
                
    $command rtrim($command,"|").">";
                
    $serverinfo mysqli_query($link,"SELECT * FROM servers WHERE id=".$server)->fetch_assoc();
                
    $host "tcp://".substr($serverinfo["ip"],0,strpos($serverinfo["ip"],":"));
                
    $port substr($serverinfo["ip"],strpos($serverinfo["ip"], ":")+1);
                
    $password $serverinfo["pass"];

                
    $search = array("%player%","%item%");
                
    $replace = array($username,$item);
                
    $command str_replace($search$replace$command);
                
    $errstr '';
                
    $errno '';
                
    $data $password " " $username " [" $item "] " $command;

                if ( (
    $fp fsockopen($host$port$errno$errstr3) ) === FALSE)
                    echo 
    "$errstr ($errno)";
                else {
                    echo 
    'Request completed!</br>';
                    
    fwrite($fp$data);
                    
    fclose($fp);
                }
                echo 
    $data."<br/>";
            }
        }
        echo 
    '<script>window.location.href = "./index.php?info=Success";</script>';
        die();

    Die Betroffene Zeile [211]: if ( ($fp = fsockopen($host, $port, $errno, $errstr, 3) ) === FALSE)

    Ich würde mich über schnelle Hilfe sehr freuen.
    Mit freundlichen Grüßen ThegreenY
    Zuletzt geändert von ThegreenY; 09.10.2019, 15:29.
    A computer program does what you tell it to do, not what you want it to do.

  • #2
    Zitat von ThegreenY Beitrag anzeigen
    Hallo,

    In einem anderen Forum haben sie mir gesagt, das ganze Ding ist nicht mehr zu retten und kompletter müll, ich soll es doch neu Programmieren, seid ihr auch der Ansicht?
    Kann sein, die meinung kommt schnell auf da der Meinungsträger es selbst nicht machen würde.
    Das ganze hört sich eher nach einem Timeout an als nach der Fehlermeldung.

    Als ihr euch das Ding gekauft habt, funktionierte da alles?
    https://arnego2.com <Webseiten ab €80 und einiges mehr>

    Kommentar


    • #3
      Zitat von arnego2 Beitrag anzeigen

      Kann sein, die meinung kommt schnell auf da der Meinungsträger es selbst nicht machen würde.
      Das ganze hört sich eher nach einem Timeout an als nach der Fehlermeldung.

      Als ihr euch das Ding gekauft habt, funktionierte da alles?
      Nein leider nicht, an dem System wird vom Ersteller noch gearbeitet, der hat da aber wohl keine Probleme. Und wir können leider alle im Team nicht so gut php dass wir so ein ding selber schreiben könnten.
      Daher frage ich jetzt auch hier nach hilfe, da wir mit unserem Latein am ende sind.

      Was könnte ich versuchen um heraus zu finden ob es ein timeout ist?
      A computer program does what you tell it to do, not what you want it to do.

      Kommentar


      • #4
        Zitat von ThegreenY Beitrag anzeigen

        Nein leider nicht, an dem System wird vom Ersteller noch gearbeitet, der hat da aber wohl keine Probleme. Und wir können leider alle im Team nicht so gut php dass wir so ein ding selber schreiben könnten.
        Daher frage ich jetzt auch hier nach hilfe, da wir mit unserem Latein am ende sind.

        Was könnte ich versuchen um heraus zu finden ob es ein timeout ist?
        Hier zum Beispiel: https://stackoverflow.com/questions/...timeout-in-php
        in den php.ini des servers.
        https://arnego2.com <Webseiten ab €80 und einiges mehr>

        Kommentar


        • #5
          Zitat von arnego2 Beitrag anzeigen

          Hier zum Beispiel: https://stackoverflow.com/questions/...timeout-in-php
          in den php.ini des servers.
          default_socket_timeout = 6000
          max_execution_time = 30

          Dass ist bei uns eingetragen, sollte doch reichen oder sollte ich max_execution_time den auch auf 6000 stellen?
          A computer program does what you tell it to do, not what you want it to do.

          Kommentar


          • #6
            ALL-INKL.COM - Webhosting Server Hosting Domain Provider
            Was mir da gerade mal so auffällt, oben in der fehler meldung letzte zeile steht tcp://:8 ,dass ist nur die erste ziffer der ip und nicht di ganze ip die da eigentlich sein sollte, kann es sein dass daher der fehler kommt?
            A computer program does what you tell it to do, not what you want it to do.

            Kommentar

            homepage-forum.de - Hilfe für Webmaster! Statistiken

            Einklappen

            Themen: 56.539   Beiträge: 427.605   Mitglieder: 28.120   Aktive Mitglieder: 46
            Willkommen an unser neuestes Mitglied, Balle.

            Online-Benutzer

            Einklappen

            137 Benutzer sind jetzt online. Registrierte Benutzer: 2, Gäste: 135.

            Mit 2.057 Benutzern waren am 14.07.2019 um 12:45 die meisten Benutzer gleichzeitig online.

            Die neuesten Themen

            Einklappen

            Die neuesten Beiträge

            Einklappen

            Lädt...
            X