Comment puis-je empêcher WordPress de m'inviter à saisir les informations FTP lors des mises à jour?

28

Comment puis-je empêcher WordPress de me demander de saisir des informations FTP lors de la mise à jour?

    
posée artlung 11.08.2010 - 22:22
la source

5 réponses

23

Si vous modifiez votre fichier wp-config.php , 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 pour la sécurité. Voir Modification wp-config.php pour plus d'informations.

Vos paramètres varient, mais ils fonctionnent pour moi et pour la configuration de mon hébergement. J'ai inclus certaines des constantes non utilisé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);
    
réponse donnée artlung 11.08.2010 - 22:23
la source
12

Vérifiez la propriété de votre fichier. Lorsque l'utilisateur sous lequel s'exécute apache peut écrire dans les répertoires wordpress, le processus de mise à niveau intégré fonctionne sans ftp. Les informations d’identification FTP s’appliquent si le serveur Web ne dispose pas des privilèges appropriés sur vos fichiers, puis wordpress vous invite à fournir vos détails FTP, et tente de les utiliser pour retourner FTP sur le même serveur qu’il est sur lequel vous pouvez écrire. fichiers dont il a besoin.

    
réponse donnée pixeline 11.08.2010 - 22:45
la source
5

Il semble que non seulement WordPress vérifie si les répertoires sont accessibles en écriture, mais qu’il vérifie également si l’utilisateur Apache OWNS (ou au moins si l’utilisateur Apache est propriétaire du fichier temporaire qu’il crée) . Observez ces lignes de code dans /wp-admin/includes/file.php: get_filesystem_method ():

if ( $temp_handle ) {
    if ( getmyuid() == @fileowner($temp_file_name) )
        $method = 'direct';
    @fclose($temp_handle);
    @unlink($temp_file_name);
}

Donc, une solution rapide sera d’émettre cette commande et de donner la propriété de l’ensemble de l’installation de Wordpress à Apache:

sudo chown -R www-data wordpress/

Où www-data est l'utilisateur Apache et, bien sûr, wordpress est votre dossier d'installation WordPress.

J'ai documenté davantage ma solution ici: enlace

    
réponse donnée Ardee Aram 11.11.2012 - 07:49
la source
1

Lors de l'optimisation d'Apache 2.4 via EasyApache4 afin d'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 va automatiquement désactiver mod_ruid2 et mod_cgi (et activer deux autres modules). Lors de la désactivation de mod_pagespeed, il ne réactivera pas mod_ruid2 automatiquement; 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 le fichier wp-config.php ou de définir (dangereusement) les autorisations de fichier sur 777. Activez simplement mod_ruid2, redémarrez Apache pour résoudre le problème des autorisations de fichiers / FTP. Wordpress et les plugins peuvent maintenant être mis à jour comme d'habitude et les médias téléchargés dans la galerie Wordpress. Cela fonctionne tout de suite.

Je viens de vérifier que le passage de MPM Prefork à Worker désactive Mod_ruid2. Lors du retour de Worker à Prefork, il n'activera pas mod_ruid2, ce qui entraîne le problème décrit dans ce message.

Dans les deux cas, la clé consiste à vérifier et à activer mod_ruid2.

J'espère avoir aidé.

    
réponse donnée itmonitor 01.08.2017 - 18:45
la source
-1

1) Je ne peux pas accepter la réponse ci-dessus, car elle est trop générique

.

1a) Je ne veux tout simplement pas modifier récursivement la propriété de tous mes fichiers (par exemple, en utilisant un fusil de chasse pour tuer un musquito). Surtout que cela fonctionne parfaitement avant.

1b) Wordpress ayant la fonctionnalité "sournois" d'un coup, vous demande des informations d'identification pour ftp

2) Alors j'ai commencé à creuser plus profondément en utilisant son avance d'Ardee Aram. Je suis allé vérifier le fichier file.php et vérifié sa propriété. On dirait que le fichier.php dépend de sa propre propriété (qui a été définie de manière incorrecte 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 quelle est 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 lieu puis propose d'utiliser l'alternative FTP. Maintenant, c’est comme une "fonctionnalité" qui apparaît tout à coup.

    
réponse donnée th3penguinwhisperer 10.05.2016 - 22:33
la source

Lire d'autres questions sur les étiquettes