Comment puis-je empêcher WordPress de me demander d'entrer des informations FTP lors des mises à jour?
29
Si vous modifiez votre wp-config.php
fichier, vous pouvez précharger ces paramètres FTP sous forme de constantes lues par WordPress. Gardez à l'esprit que sur un hôte partagé, vous devez être conscient des implications possibles en matière de sécurité.
Voir Modificationwp-config.php
pour plus d'informations.
Vos paramètres varient, mais ceux-ci fonctionnent pour moi et ma configuration d'hébergement. J'ai inclus certaines des constantes inutilisées, préfixées:
define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
// define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'my-ftp-username');
define('FTP_PASS', 'my-ftp-password');
define('FTP_HOST', 'ftp.my-site.example.com');
// define('FTP_SSL', false);
Vérifiez la propriété de votre fichier. Lorsque l'utilisateur qui exécute apache peut écrire dans les répertoires wordpress, le processus de mise à niveau intégré fonctionne simplement sans ftp. Les informations d'identification FTP sont pour si le serveur Web n'a pas les privilèges appropriés sur vos fichiers, puis wordpress vous invite à entrer vos détails FTP et tente de les utiliser pour FTP sur le même serveur sur lequel il se trouve pour pouvoir écrire le fichiers dont il a besoin.
la source
Il semble que non seulement WordPress vérifie si les répertoires sont accessibles en écriture, mais il vérifie si l'utilisateur Apache possède les répertoires (ou au moins, si l'utilisateur Apache possède le fichier temporaire qu'il crée). Observez ces lignes de code dans /wp-admin/includes/file.php: get_filesystem_method ():
Ainsi, une solution rapide sera d'émettre cette commande et de donner la propriété de toute l'installation Wordpress à Apache:
Où www-data est l'utilisateur Apache, et bien sûr wordpress est votre dossier d'installation WordPress.
J'ai documenté ma solution ici: https://ardeearam.wordpress.com/2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/
la source
Lors du réglage fin d'Apache 2.4 via EasyApache4 pour améliorer la vitesse de chargement du site Web sur un serveur Centos 7 PHP 7, j'avais activé mod_pagespeed. En l'activant, il désactivera automatiquement mod_ruid2 et mod_cgi (et activera les deux autres modules). Lorsque vous désactivez mod_pagespeed, il ne réactivera pas automatiquement mod_ruid2 - il réactivera uniquement mod_cgi. Sans mod_ruid2, Wordpress demandera les informations d'identification FTP.
Il n'est pas nécessaire de coder en dur wp-config.php ou de définir les autorisations de fichier (dangereusement) sur 777. Activez simplement mod_ruid2 manuellement, redémarrez Apache et le problème d'autorisation FTP / fichier est résolu. Wordpress et les plugins peuvent maintenant être mis à jour comme d'habitude et les médias téléchargés dans la galerie Wordpress. Ça marche tout de suite.
Je viens de vérifier que lors du passage de MPM Prefork à Worker, cela désactivera mod_ruid2. Lorsque vous revenez de Worker à Prefork, cela n'activera pas mod_ruid2, provoquant le problème décrit dans ce message.
Dans les deux cas, la clé est de vérifier et d'activer mod_ruid2.
J'espère avoir aidé.
la source
1) Je ne suis pas d'accord avec la réponse ci-dessus car elle est trop générique
1a) Je ne veux tout simplement pas changer la propriété de tous mes fichiers de manière récursive (comme en utilisant un fusil de chasse pour tuer un musquito). D'autant plus que cela fonctionnait parfaitement avant.
1b) Wordpress ayant la fonctionnalité "sournoise" de tout d'un coup vous demander des informations d'identification pour ftp
2) J'ai donc commencé à creuser plus profondément en utilisant son avance d'Ardee Aram. Je suis allé archiver le fichier file.php et vérifié sa propriété. Il semble que le fichier.php dépend de sa propre propriété (qui a été incorrectement définie en tant que root).
Correction: chown www file.php
REMARQUE: remplacez www par votre distribution ou vos paramètres (vous pouvez utiliser ps aux | egrep "php | http" et voir sa propriété dans la première colonne.
J'espère que cela aide quelqu'un d'autre à ne pas être frustré à ce sujet. Je ne comprends même pas pourquoi wordpress ne se "plaint" pas en premier et propose ensuite d'utiliser l'alternative FTP. Maintenant, c'est comme une "fonctionnalité" qui est soudainement introduite.
la source