Sur un serveur hébergé en Chine continentale, j’ai eu la surprise de ne pas être en mesure de mettre à jour wp-cli
:
wp cli update
Error: Failed to get url 'https://api.github.com/repos/wp-cli/wp-cli/releases?per_page=100': cURL error 7: Failed to connect to api.github.com port 443: Connection refused.
Visiblement, certaines adresses sont injoignables, notamment lorsqu’elles utilisent le port 443 (https).
Evidemment, on peut télécharger wp-cli
manuellement et le réinstaller mais si vous souhaitez une solution plus rapide, voilà comment j’ai procédé.
Première solution: édition de /etc/hosts
1. On récupère l’adresse IP de l’adresse api.github.com
:
curl --ipv4 -v https://api.github.com
Résultat: 13.250.94.254 port 443
2. On édite le fichier /etc/hosts
du serveur:
nano /etc/hosts
3. On y ajoute l’adresse IP correspondante à api.github.com
:
13.250.94.254 api.github.com
Et voilà, le téléchargement depuis github est de nouveau accessible.
Deuxième solution: utiliser le drapeau –ipv4
S’il s’agit d’un téléchargement simple, par exemple pour installer wp-cli
pour la première fois, il suffit d’indiquer le drapeau --ipv4
dans votre commande curl
:
curl --ipv4 -v -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
Troisième solution: configurer curl avec –ipv4
Histoire de ne pas avoir à éditer le fichier /etc/host
pour chaque site distant, autant configurer curl
pour utiliser IPv4 par défaut:
echo '--ipv4' >> ~/.curlrc
Notons que la configuration de ce VPS est très particulière, je n’ai jamais eu à faire ce genre de manipulation sur les autres serveurs dont je m’occupe.
C’est très probablement dû au fait qu’il ne doit pas avoir IPv6 configuré.
Au passage, le filtrage du Great Firewall of China rend également chaque opération/commande assez délicate.
Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ajouter de nouvelles fonctionnalités, ou améliorer les performances de votre site? Faîtes appel à mon expertise.