Dépannage des échecs de téléchargement FTP avec PHP ftp_put
Problème :
Lors de la tentative de téléchargement d'un XML sur un serveur FTP à l'aide de ftp_put, l'opération échoue systématiquement et renvoie false.
Résolution :
Passer en mode FTP passif :
La raison la plus courante des échecs de ftp_put est le comportement par défaut de PHP, qui utilise le mode FTP actif. Dans de nombreux cas, la solution consiste à passer en mode passif à l'aide de la fonction ftp_pasv. Voici l'extrait de code :
<code class="php">$connect = ftp_connect($ftp) or die("Unable to connect to host"); ftp_login($connect, $username, $pwd) or die("Authorization failed"); ftp_pasv($connect, true) or die("Unable switch to passive mode");</code>
Configurer l'adressage PASV :
Si votre serveur FTP signale une adresse IP incorrecte en réponse à la commande PASV en raison d'un pare-feu ou d'un NAT utilisation, vous pouvez contourner le problème en désactivant FTP_USEPASVADDRESS :
<code class="php">ftp_set_option($connect, FTP_USEPASVADDRESS, false);</code>
Ressources supplémentaires :
Remarque :
Il est important de noter que ftp_pasv doit être appelé après ftp_login pour avoir un effet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!