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 ?
Merci d'avances pour votre aide.
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"
Emmanuel
Partager