web-dev-qa-db-fra.com

Administrateur ne peut pas mettre à jour WP

J'ai un site en cours d'exécution WP 3.3.2. Le moteur affiche une barre indiquant "WordPress 3.5 est disponible! Veuillez en informer l'administrateur du site."

Ce qui est drôle, c’est que je suis connecté avec un utilisateur administrateur, j’ai vérifié deux fois. En essayant d'accéder à la page de mise à jour (sur wp-admin/update-core.php), j'obtiens cette erreur:

"Vous ne disposez pas des autorisations suffisantes pour accéder à cette page."

Des indices sur ce qui pourrait se passer ici? Merci.

8
Max Min

Essayez de créer un nouvel utilisateur administrateur dans la base de données.

Suivez ces étapes, vous devriez être capable de créer un nouvel utilisateur administrateur, puis de le mettre à jour et vous pourrez ensuite redonner à votre ancien utilisateur les droits administrateur. Ou utilisez le nouvel utilisateur.

Votre ancien utilisateur a peut-être un mauvais réglage dans la base de données

http://www.dnawebagency.com/how-to-add-an-admin-user-to-the-wordpress-database

1
mscgl

J'ai eu ce problème une fois.

Vous devriez vérifier votre fichier wp-config.php et si vous trouvez cette ligne

define('DISALLOW_FILE_MODS',true);

change sa valeur en false:

define('DISALLOW_FILE_MODS',false);
22
tjrtmonline

Pour ceux qui ont ce problème, il existe une autre ligne que vous devrez peut-être trouver dans votre fichier wp-config ou dans votre fichier de fonctions et remplacer par false:

define('DISALLOW_FILE_EDIT', true);
3
tvorm

WordPress me disait que je n'avais pas les "autorisations suffisantes" pour mettre à jour ma propre installation, même si j'étais connecté en tant qu'administrateur.
J'avais la ligne suivante dans mon fichier wp-config.php:
define('DISALLOW_FILE_MODS',true);
J'ai pu appliquer les mises à jour une fois de plus après avoir modifié cette ligne en:
define('DISALLOW_FILE_MODS',false);

3
Bassscape

Ajoutez le code suivant à un fichier de votre racine wordpress et accédez à cette page.

<?php
define('WP_USE_THEMES', false);
require('wp-blog-header.php');

$role = get_role('administrator');

echo '<pre>';
print_r($role);
echo '</pre>';

Maintenant, cherchez [update_core] dans le texte affiché. Sa valeur devrait être 1.

Sinon, ajoutez la ligne suivante après la ligne $role = get_role('administrator') pour ajouter la update_corecapacité à l'administrateur.

$role->add_cap( 'update_core' ); 

Rechargez la page pour voir si la valeur de [update_core] est 1. Si c'est 1, vous pouvez essayer de faire la mise à jour. N'oubliez pas de supprimer le fichier que vous avez ajouté par la suite.

Méthode 2:

Obtenez sur PHPMyadmin et accédez à la table wp_users. Recherchez votre identifiant. Maintenant, allez à wp_usermeta et changez le wp_capabilities de votre ID utilisateur en a:1:{s:13:"administrator";b:1;}. Faites une sauvegarde avant de toucher la base de données, juste au cas où.

1
RRikesh

Souvent, vous devez donner à votre installation wordpress les autorisations de fichier et de répertoire appropriées. Si vous pouvez vous connecter à votre serveur via SSH, cela ne pose aucun problème.

  1. Réinitialiser l'autorisation de tous les fichiers à 664:

trouver/var/www/html/-type f -exec chmod 664 {} \;

  1. Réinitialiser l'autorisation des annuaires à 775:

trouver/var/www/html/-type d -exec chmod 775 {} \;

  1. Obtenir l'utilisateur qui exécute Apache (l'utilisateur doit être la première ligne/colonne):

ps aux | grep Apache

  1. Récupérez les groupes dont l'utilisateur fait partie:

groupes [nom d'utilisateur]

  1. Réinitialisez le groupe sur le groupe exécutant Apache:

chgrp -R [groupe]/var/www/html /

Vous devriez maintenant pouvoir mettre à jour Wordpress automatiquement à partir de votre backend.

0
Torsten Barthel

J'ai rencontré ce problème une fois lors de la mise à jour d'une installation 3.9.19.

J'ai suivi la réponse de @RRikesh et tout semblait normal, mais je ne parviens toujours pas à exécuter la mise à jour.

Il s'avère qu'une define('DISALLOW_FILE_MODS',true); a été configurée dans functions.php.

Alors oui, cherchez cette ligne dans votre wp-config.php ainsi que dans functions.php.

Pas sûr si l'ajout de cette ligne à functions.php est une pratique courante puisque la plupart des réponses suggèrent de regarder ici uniquement wp-config.php

0
Bryan CS