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 :

Fonction readdir inopérente en PHP 5.3.6 [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Par défaut Fonction readdir inopérente en PHP 5.3.6
    Bonjour,

    Je fais de l'échange de données entre 2 serveurs A et B.
    Pour résumer :
    Le serveur A demande au serveur B de faire un traitement spécifique. Quand le serveur B a terminé, il créé un fichier rapport.ini dans un répertoire.
    Le serveur A liste le contenu du répertoire distant tant qu'il ne trouve pas le fichier rapport.ini

    C'est en gros le code suivant que j'utilise
    Ce mécanisme fonctionnait tout à fait.
    Mais depuis que j'ai passé un des serveurs en PHP 5.3.6 (l’autre est en PHP 5.3.1), la fonction readdir ne liste plus aucun fichier.

    J'ai comparé la configuration des phpinfo.php, sans noter de différences notoires.
    Avez-vous des infos sous une régression pour cette fonctionnalité en PHP 5.3.6 ?
    Ou est-ce mon code qui vous semble incompatible avec PHP 5.3.6 ?


    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
     
    $lRepertoire = "/var/www/htlm/...";
     
    $lSshConnect  = ssh2_connect('192.166...', '22');
    if ($lSshConnect == FALSE)
    {
      // traitement erreur
      ...
     return;
    }
    if (ssh2_auth_password($lSshConnect, 'util','mtp') == FALSE)
    {
       // traitement erreur
      ..
      return;
    }
    $lSftp = ssh2_sftp($lSshConnect);
    $lDir = "ssh2.sftp://".$lSftp."/".$lRepertoire;
    $lHandle = opendir($lDir);
    $lExtractTermine = FALSE; 
    $lTentative = 0;
    do
    {
       while (FALSE !== ($lFile = readdir($lHandle))) 
      {
    	if ($lFile == "rapport.ini")
    		$lExtractTermine = TRUE;
      }
      sleep(5);$lTentative++;				
    } while ($lExtractTermine == FALSE && $lTentative < 10);
    closedir($lHandle);
     
    if (!$lExtractTermine)
    	return "KO=...";
     
    return "OK"
    Merci d'avances pour votre aide.
    Emmanuel

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Par défaut
    [QUOTE=manu_b;6338677]Bonjour,

    Pour info, j'ai trouvé la raison : en plus de l'installation de PHP5.3.6, la librairie ssh2 a également été mise à jour. La version installée était la 0.11.3. Dans celle-ci comporte un bug signalé sur les échanges entres machines 32 bits et 64 bits. C'était mon cas.
    J'ai installé la version de développement (0.11.3-dev) est s'est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Interbase] fonctions iBase_ Query de PHP
    Par jlf dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/01/2008, 15h59
  2. Quelle fonction faut-il en PHP
    Par rane dans le forum Langage
    Réponses: 5
    Dernier message: 11/05/2006, 19h14
  3. équivalent fonction mysql C en php
    Par splouf dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 22/01/2006, 19h41
  4. équivalent fonction mysql C en php
    Par splouf dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/01/2006, 14h23
  5. Appeler une fonction d'un script PHP depuis HTML
    Par barthelv dans le forum Langage
    Réponses: 31
    Dernier message: 27/12/2005, 11h25

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