Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema fsockopen

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    56

    problema fsockopen

    Salve a tutti,

    ho dei problemi con questo vecchio codice php. Funzionava perfettamente su un server interno all'azienda. Abbiamo traslocato la web a un hosting linux esterno e non funziona più. La direzione ip che si indica è una direzione ip fissa.

    Codice PHP:
     <?php     
     
    $fichero 
    $_SESSION['telex']; 
    $fichero "P01web" $fichero
    $f fopen($fichero,"r"); 
     
    $conexion=fsockopen("8x.xxx.xx.xx","5000"); 
     
    $ped 0
    // inviamo codice del cliente 
    $val fgets($f,30); 
    fwrite($conexion,"010100000000000000".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]."         ".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]." \n"); 
    fwrite($conexion,"1010".$val[0].$val[1].$val[2].$val[3].$val[4].$val[5].$val[6]."                                                           \n"); // no se procesa 
    $val fgets$f30); 
    $ped 0
    // inviamo codice articoli e quantità
    while(!feof($f)){  
        
    $ped $ped +
        
    $pal2 split("\?",$val);     
        if(
    strlen($pal2[1]) == 0$pal2[1] = "0001"// se è zero lo cambia a 1. Ordine minimo 
        
    if(strlen($pal2[1]) == 1$pal2[1] = "000".$pal2[1]; 
        if(
    strlen($pal2[1]) == 2$pal2[1] = "00".$pal2[1]; 
        if(
    strlen($pal2[1]) == 3$pal2[1] = "0".$pal2[1]; 
        
    fwrite($conexion,"1020000000".$pal2[0]."0".$pal2[1]."\n"); 
        
    $val fgets$f30); 

    fwrite($conexion,"10500000000000000000\n"); 
    fwrite($conexion,"0199\n"); 
    set_time_limit(50); 
    sleep(4); 
    fclose($f); 
     
     
     
    // Restituisce un messaggio se l'articolo non è disponibile
    $val fread($conexion,44); 
    $val fread($conexion,74); 
     
    $comp substr($val,0,4); 
    //fclose($conexion);  
     
    if(strcmp($comp,"2010") == 0){ 
        
    $fin 1
            while(
    $fin == 1){ 
            
    $val fread($conexion,4); 
            if(
    strcmp($val,"0199") == 0){ 
                
    $fin 0
            } 
            if(
    strcmp($val,"2011") == 0){ 
                
    $val fread($conexion,52); 
            } 
            if(
    strcmp($val,"2015") == 0){ 
                
    $val fread($conexion,46); 
                
    $articulo substr($val,6,6); 
                
    $cpedida substr($val,14,3); 
                
    $cservida substr($val,14,3) - substr($val,18,3); 
                
    $incidencia substr($val,29,2); 
                if(
    strcmp($incidencia,"36") == 0$incidencia "Stock insufficiente"
                if(
    strcmp($incidencia,"01") == 0$incidencia  ="Esaurito"
                if(
    strcmp($incidencia,"11") == 0$incidencia  ="Fuori Catalogo"
                if(
    strcmp($incidencia,"04") == 0$incidencia  ="Codice sconosciuto"
                if(
    strcmp($incidencia,"10") == 0$incidencia  ="Non invia il fabbricante";      
                if(
    strcmp($incidencia,"00") != ){ 
                    
    ?> 
                          <tr> 
                            <td><?php echo $articulo?></td> 
                            <td><?php echo $cpedida?></td> 
                            <td><?php echo $cservida?></td> 
                            <td><?php echo $incidencia?></td> 
     
                          </tr> 
           
                    <?php 
                    

                
    $val ""
                
    $articulo "";  
                
    $cpedida ""
                
    $cservida =""
                
    $incidencia ""
            } 
        } 
    }else { 
        echo 
    "Non siamo stati in grado di verficare lo stock disponibile. Ci scusiamo per il disagio."

    fclose($conexion); 
    ?>
    Il codice legge un file con questa struttura e lo invia a un concentratore che lo processa per l' erp.

    codice:
    9901585??
    000018?3?
    000019?2?
    Da cosa può dipendere?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ottieni errori particolari?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    56
    Quote Originariamente inviata da clasku Visualizza il messaggio
    ottieni errori particolari?
    Dipende dal hosting.

    Su arsys con server linux da un 5000 internal server dovuto a un timeout
    Su altervista.org dice l'ordine è stato inviato con successo
    Su un hosting windows de prova (mywindowshosting) mi da questo errore:

    codice:
    Warning:  fsockopen(): unable to connect to 8x.xxx.29.x4:5000 (An attempt was made to access a socket in a way forbidden by its access permissions. ) in H:\root\home\freshli-001\www\site1\conectar.php on line 111
    
    Warning:  fwrite() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 116
    
    Warning:  fwrite() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 117
    
    Warning:  fwrite() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 128
    
    Warning:  fwrite() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 131
    
    Warning:  fwrite() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 132
    
    Warning:  fread() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 140
    
    Warning:  fread() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 141
    Non siamo stati in grado di verficare lo stock disponibile. Ci scusiamo per il disagio
    Warning:  fclose() expects parameter 1 to be resource, boolean given in H:\root\home\freshli-001\www\site1\conectar.php on line 189
    Ultima modifica di freshli; 24-11-2014 a 10:44

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    mi sa che devi chiedere all'assistenza dell'hosting, potrebbe essere una porta di comunicazione chiusa

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    56
    Quote Originariamente inviata da clasku Visualizza il messaggio
    mi sa che devi chiedere all'assistenza dell'hosting, potrebbe essere una porta di comunicazione chiusa
    Grazie clasku,

    da altervista mi dicono che le connessioi server to server sono consentite solo verso le porte standard http (80) e https (443)

    Che fare?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    poco da fare ci vedo, o fai la chiamata sulla 80 (o abilitando la porta 80 sul server o chiamando prima un altro indirizzo IP sulla 80 che faccia il NAT verso la 5000 del server finale) o cambi hosting

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    56
    Grazie clasku. Sempre efficientissimo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.