Fonctions FTP en PHP
- 04/01/2007
PHP://
Fonctions FTP en PHPJ'avais une erreur récurrente sur mon script de synchronisation de site web, et comme de bien entendu le message d'erreur n'était vraiment pas clair... Petit récit, solution technique et manière d'arriver plus efficacement à une solution.
Ce script me permet d'envoyer tout un site internet de mon poste vers le serveur web sans me préoccuper de quels fichiers doivent être mis à jour. Il fait la différence, supprime ce qui doit l'être, et envoi les bons fichiers au bon endroit. Le gain de temps est formidable, et surtout l'assurance de n'avoir rien oublié appréciable.
Le bug avait cette formeWarning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection for rat/admin/index.php in www/ftpClean/code/ftpclean.lib.php on line 139
Il se produisait sur deux dossiers différents, deux dossiers ayant chacun quelques dizaines de fichiers. Surtout, autant de fois que je relançais le script, autant de fois l'erreur survenait sur le même fichier, toujours. Et accessoirement ce fichier était tronqué.
La solution est venue d'un commentaire (sur cette page) induisant la possibilité que le message du warning ne corresponde pas à la véritable erreur. De fait, le message cité plus haut n'est pas une erreur, mais un message d'information émis à chaque début de transfert FTP.ftp_put() can display confusing warning messages as it returns one line of the remote server's response which may be multi lined.
Le passage en mode FTP passif résout tout (fonction ftp_passv()), ce qui laisse supposer qu'un firewall peut bloquer partiellement le mode actif.
Conclusion : il y a toujours une solution, mais elle demande à ne pas rester face au problème en espérant le résoudre ainsi. Il faut fouiller autour, creuser, se documenter, et à ce moment là on peut espérer avoir une solution qui vienne. ftp_pasv() était en lien sur la page de documentation de ftp_put(), et j'ai déjà lu de nombreuses choses sur le mode passif qui évite les problèmes dans certains cas.
Rubriques des billets
- Agilité - 15 billets
- Archerie - 8 billets
- Avis - 47 billets
- Cultures - 8 billets
- Délires - 33 billets
- Démocrachie - 3 billets
- Développement - 18 billets
- Développement web - 16 billets
- Ergonomie - 15 billets
- Geekerie - 8 billets
- Inclassable - 4 billets
- Informatique - 19 billets
- Littératures - 34 billets
- PHP - 2 billets
- Poor Lonesome Coder - 17 billets
- Régalons-nous - 6 billets
- Sortons! - 2 billets
- Travail - 14 billets
- Voyages - 2 billets
- Webmasteriat - 18 billets
Commentaires(s)
Ecrire votre commentaire
29/06/2007 - Systeme