Der Administrator kann WP nicht aktualisieren


10

Ich habe eine Site mit WP 3.3.2. Das Backend zeigt eine Leiste mit der Aufschrift "WordPress 3.5 ist verfügbar! Bitte benachrichtigen Sie den Site-Administrator."

Lustige Sache ist, dass ich mit einem Administrator angemeldet bin, das habe ich doppelt überprüft. Beim Versuch, auf die Update-Seite zuzugreifen (unter wp-admin / update-core.php), wird folgende Fehlermeldung angezeigt:

"Sie haben nicht genügend Berechtigungen, um auf diese Seite zuzugreifen."

Irgendwelche Hinweise, was hier los sein könnte? Vielen Dank.


Neu installieren? Hatten Sie ein Plugin, das die Funktionen Ihres Administrators hätte ändern können?
RRikesh

Ich habe alle Plugins deaktiviert, aber das hat nicht geholfen. Ich habe noch keine Neuinstallation durchgeführt, da ich viele Inhalte habe, die ich auf die neue Installation verschieben müsste. Ich werde es versuchen, wenn es keine andere Lösung gibt.
Max Min

Antworten:


1

Versuchen Sie, einen neuen Administrator in der Datenbank zu erstellen.

Befolgen Sie diese Schritte. Sie sollten in der Lage sein, einen neuen Administratorbenutzer zu erstellen, dann zu aktualisieren und dann Ihrem alten Benutzer erneut Administratorrechte zu erteilen. Oder verwenden Sie den neuen Benutzer.

Ihr alter Benutzer hat möglicherweise eine falsche Einstellung in der Datenbank

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


Danke, das habe ich versucht und ich kann einen neuen Benutzer hinzufügen. Leider hat der neue Benutzer auch keine Update-Berechtigungen. Sehr eigenartig.
Max Min

Hallo, das ist seltsam. Haben Sie versucht, WP 3.3.2 manuell herunterzuladen und dann alle Dateien (über FTP) (nicht die wp-config-Datei) zu überschreiben? dann versuchen, auf 3.5
mscgl

Toller Tipp, das hat funktioniert - danke! Ich habe meine WP-Kerndateien manuell überschrieben und konnte dann auf 3.5 aktualisieren.
Max Min

Das waren großartige Neuigkeiten :)
mscgl

28

Ich hatte dieses Problem einmal.

Sie sollten Ihre wp-config.phpDatei überprüfen und ob Sie diese Zeile finden

define('DISALLOW_FILE_MODS',true);

Ändern Sie den Wert in false:

define('DISALLOW_FILE_MODS',false);

Perfekt - ein Kollege hat dies auf einer Site festgelegt, die wir für DISABLE_FILE_EDIT halten. Ähnliche Befehle, also denke ich, ist es ein leichter Fehler.
John Reid

Diese Arbeit gut für mich, danke für Ihre Hilfe
Amit Verma

6

Für alle anderen mit diesem Problem gibt es eine weitere Zeile, die Sie möglicherweise in Ihrer wp-config- oder Funktionsdatei finden und in false ändern müssen:

define('DISALLOW_FILE_EDIT', true);

Diese Einstellung kann in wp-settings.php
Kristjan Adojaan

3

WordPress teilte mir mit, dass ich nicht genügend Berechtigungen hatte, um meine eigene Installation zu aktualisieren, selbst wenn ich als Administrator angemeldet war.
Ich hatte die folgende Zeile in meiner Datei wp-config.php:
define('DISALLOW_FILE_MODS',true);
Ich konnte Updates erneut anwenden, nachdem ich diese Zeile in geändert hatte:
define('DISALLOW_FILE_MODS',false);


Diese Einstellung kann in wp-settings.php
Kristjan Adojaan

1

Fügen Sie den folgenden Code zu einer Datei in Ihrem WordPress-Stammverzeichnis hinzu und wechseln Sie zu dieser Seite.

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

$role = get_role('administrator');

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

Suchen Sie nun [update_core]im angezeigten Text nach. Der Wert sollte sein 1.

Wenn nicht, fügen Sie die folgende Zeile nach der $role = get_role('administrator')Zeile hinzu update_core , um dem Administrator die Funktion hinzuzufügen .

$role->add_cap( 'update_core' ); 

Laden Sie die Seite neu, um festzustellen, ob der Wert von [update_core]ist 1. Wenn 1dies der Fall ist , können Sie versuchen, das Update durchzuführen. Vergessen Sie nicht, die anschließend hinzugefügte Datei zu löschen.

Methode 2:

Holen Sie sich auf PHPMyadmin und gehen Sie zum wp_usersTisch. Suchen Sie nach Ihrer Benutzer-ID. Gehen Sie nun zu wp_usermetaund ändern Sie die wp_capabilitiesIhrer Benutzer-ID in a:1:{s:13:"administrator";b:1;}. Führen Sie vor dem Berühren der Datenbank ein Backup durch, nur für den Fall.


Danke, ich habe es versucht und den Wert "1" für [update_core] erhalten. Trotzdem kann ich nichts aktualisieren.
Max Min

Ein weiterer Vorschlag wurde hinzugefügt.
RRikesh

0

Dieses Problem trat einmal beim Aktualisieren einer 3.9.19-Installation auf.

Ich folgte der Antwort von @RRikesh und alles schien normal zu sein, aber ich kann das Update immer noch nicht ausführen.

Es stellt sich heraus, dass ein define('DISALLOW_FILE_MODS',true);in konfiguriert wurde functions.php.

Also ja, Blick für diese Zeile in Ihrem wp-config.phpsowie functions.php.

Ich bin mir nicht sicher, ob das Hinzufügen dieser Zeile functions.phpgängige Praxis ist, da die meisten Antworten hier nur einen Blick darauf werfenwp-config.php


0

Oft müssen Sie Ihre WordPress-Installation mit den richtigen Datei- und Verzeichnisberechtigungen versehen. Wenn Sie sich über SSH bei Ihrem Server anmelden können, ist dies überhaupt kein Problem.

  1. Setzen Sie die Berechtigung aller Dateien auf 664 zurück:

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

  1. Berechtigung von Verzeichnissen auf 775 zurücksetzen:

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

  1. Benutzer abrufen, auf dem Apache ausgeführt wird (Benutzer sollte die erste Zeile / Spalte sein):

ps aux | grep apache

  1. Rufen Sie die Gruppen ab, zu denen der Benutzer gehört:

Gruppen [Benutzername]

  1. Setzen Sie die Gruppe auf die Gruppe zurück, auf der Apache ausgeführt wird:

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

Jetzt sollten Sie Wordpress automatisch über Ihr Backend aktualisieren können.


0

Ich habe das behoben, indem ich einen Wert innerhalb der geändert habe wp-config.php.

define('DISALLOW_FILE_MODS',true);

Ändern Sie den Wert in false:

define('DISALLOW_FILE_MODS',false);


1
Was ist Ihre Antwort anders als die bereits gegebenen? Zum Beispiel dieses oder diese ein.
nmr

-1

Dies ist ein Schuss in die Dunkelheit, aber haben Sie zufällig irgendwelche Mu-Plugins, die dies verursachen könnten? wp-content/mu-plugins


Vielen Dank für Ihre Antwort, aber nein, ich habe keine Mu-Plugins installiert.
Max Min

1
Normalerweise sollten Plugins, die sich mit Rollen und Funktionen befassen, nicht im Ordner mu-plugins abgelegt werden. Rollen und Obergrenzen werden entweder bei der Plugin-Aktivierung oder der Theme-Aktivierung festgelegt, da sie in der Datenbank gespeichert sind.
RRikesh

Außerdem führt der Versuch, auf Rollenobjekte zuzugreifen, bevor Plugins geladen werden, zu einem schwerwiegenden Fehler
shea
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.