IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Plantage de la fonction ftp_nb_put (et ftp_put) ~ EasyPhp -> mutualise OVH


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut Plantage de la fonction ftp_nb_put (et ftp_put) ~ EasyPhp -> mutualise OVH
    Bonjour,

    J'ai un soucis avec la fonction ftp_nb_put de PHP.

    Le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($envoi));
     
    $dossierCourant = "";
    $connexion = ftp_connect("serveur");
    $login = ftp_login($connexion,"login","password");
     
    foreach ($iterator as $key) {
     
      if($key != "." AND $key != "..") {
     
        $source_file= $key;
        $destination_file = str_replace("\\","/",$destination_file);
     
        if ($dossierCourant != dirname($destination_file)) {
     
          $dossierCourant = dirname($destination_file);
     
          if (!@ftp_mkdir($connexion,$dossierCourant)) print "<p>creation echouee de :". dirname($destination_file)."</p>";
     
        }
     
        // Initialisation du chargement
        $ret = ftp_nb_put($connexion,$destination_file,$source_file, FTP_BINARY);
        while ($ret == FTP_MOREDATA) {
     
          // Faites ce que vous voulez...
          echo ".";
     
          // Continue le chargement...
          $ret = ftp_nb_continue($connexion);
     
        }
     
        if ($ret != FTP_FINISHED) {
     
          echo "Il y a eu un problème lors du chargement du fichier...";
          exit(1);
     
        }
     
      }
     
    }
     
    ftp_close($connexion);
    L'objectif :
    Ce script sert a uploader un dossier ainsi que ses sous dossiers a partir du serveur courant vers un serveur distant disposant d'une connexion FTP.

    La situation :
    Nous sommes sur une station de travail testant des script php sous windows/EasyPhp. Le serveur distant est un serveur mutualise OVH.

    Les symptomes :
    Le soucis, c'est que de facon aleatoire ma connexion se coupe, j'ai un dernier fichier de 0 octets, qui arrive souvent sur le 22eme (qui ne contient rien d'extraordinaire, ni carcateres speciaux, ni nom bizarroide), j'ai aleatoirement, en cas de deuxieme ou troisieme tentative, une page de 0 octet qui arrive de temps en temps.

    J'ai le message d'erreur suivant parfois :
    Warning: ftp_nb_put() [function.ftp-nb-put]: Failed to establish connection ...
    Il y a eu un problème lors du chargement du fichier...
    Les tests :
    En connectant/déconnectant a chaque fichier, ça a l'air de mieux passer, mais j'ai toujours une réaction aléatoire, et le traitement est évidemment EXTREMEMENT long. Il est évident que la connexion/déconnexion a chaque fois n'est pas gerable.

    Les questions :
    • Les threds ftp_ sont instables a votre connaissance ?
    • Je ne sais pas si ca peut avoir un rapport mais je travaille avec easyPHP en local vers un serveur distant. Un bug dans les dll ?
    • Voyez vous une incohérence quelque part ?


    D'avance merci.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    J'ai teste en ligne, ca fonctionne sans accro, c'est tres rapide. Un bug local ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


Discussions similaires

  1. plantage dans une fonction récursive
    Par Lintel-oo dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2014, 21h16
  2. Plantage d'une fonction
    Par Morgiver dans le forum Langage
    Réponses: 1
    Dernier message: 20/06/2011, 13h08
  3. [Oracle] fonction indéfinie oci_connect sous EasyPHP etWampServer 2
    Par mamiberkof dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/06/2009, 17h38
  4. [EasyPHP] Activer les fonctions LDAP sur EasyPHP 1.8
    Par gregfly26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 24/10/2005, 16h13
  5. Plantage avec la fonction InvalidateRect
    Par SebCBien dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/01/2004, 20h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo