Bonjour,
j'avais un cron qui fonctionnait bien depuis pas mal de mois pour le transfert d'un fichier texte journalier. D'un seul coup j'ai une erreur systématique sur la fonction:
$sftpStream = @fopen($sftpUrl, 'w');
avec $sftpUrl="ssh2.sftp://Resource id #10/transferts/2017-01-09_14-20_export.csv"
L'administrateur du serveur cible me précise qu'il n'y eu aucune modification de leur config. Est-ce que cela pourrait provenir d'une mise à jour de PHP ou toute mise à jour liée au protocole de communication SFTP sur la plateforme PH ?
A noter que Resource id #10 est un cast string du retour de la fonction: resource ssh2_sftp ( resource $session )
référence code source utilisé:
http://php.net/ssh2_sftp
extrait source:
j'avais un cron qui fonctionnait bien depuis pas mal de mois pour le transfert d'un fichier texte journalier. D'un seul coup j'ai une erreur systématique sur la fonction:
$sftpStream = @fopen($sftpUrl, 'w');
avec $sftpUrl="ssh2.sftp://Resource id #10/transferts/2017-01-09_14-20_export.csv"
L'administrateur du serveur cible me précise qu'il n'y eu aucune modification de leur config. Est-ce que cela pourrait provenir d'une mise à jour de PHP ou toute mise à jour liée au protocole de communication SFTP sur la plateforme PH ?
A noter que Resource id #10 est un cast string du retour de la fonction: resource ssh2_sftp ( resource $session )
référence code source utilisé:
http://php.net/ssh2_sftp
extrait source:
Code:
if (!function_exists("ssh2_connect"))
{
write_file($log,"function ssh2_connect doesn't exist",true);
fclose($log);
die();
}
$connection = ssh2_connect($ftp_host, 22);
if(!$connection)
{ // connexion
write_file($log,"La connexion ssh2_connect $ftp_host a echoue.",true);
fclose($log);
die();
}
if (!ssh2_auth_password($connection, $ftp_user_name, $ftp_user_pass))
{ // identification
write_file($log,"La connexion ssh2_auth_password $ftp_host a echoue. user:$ftp_user_name pass:$ftp_user_pass",true);
fclose($log);
ssh2_exec($connection, 'exit');
die();
}
$sftp = @ssh2_sftp($connection); // initialise un sous-systeme SFTP
if (!$sftp)
throw new Exception("erreur sur initialisation sous-systeme SFTP");
$target_file = $target_path . $target_file;
$sftpUrl = "ssh2.sftp://".$sftp.$target_file;
$sftpStream = @fopen($sftpUrl, 'w'); // creation flux pour fichier cible
if (!$sftpStream)
throw new Exception("erreur sur creation ficher cible: $sftpUrl");
Dernière édition par un modérateur: