L'utente amministratore non può aggiornare WordPress

6 gen 2013, 13:51:45
Visualizzazioni: 40.8K
Voti: 20

Ho un sito che esegue WordPress 3.3.2. Il backend mostra una barra che dice "WordPress 3.5 è disponibile! Si prega di avvisare l'amministratore del sito."

La cosa strana è che sono loggato come utente amministratore, l'ho verificato due volte. Quando provo ad accedere alla pagina di aggiornamento (su wp-admin/update-core.php) ricevo questo errore:

"Non hai permessi sufficienti per accedere a questa pagina."

Qualche suggerimento su cosa potrebbe essere successo? Grazie.

2
Commenti

Installazione pulita? Avevi qualche plugin che avrebbe potuto modificare le tue capacità di amministratore?

RRikesh RRikesh
6 gen 2013 14:05:53

Ho disabilitato tutti i plugin, ma non ha risolto. Non ho ancora fatto un'installazione pulita perché ho molti contenuti che dovrei spostare nella nuova installazione. Proverò questa soluzione se non ce ne sono altre.

Max Min Max Min
6 gen 2013 14:15:49
Tutte le risposte alla domanda 8
4
44

Ho avuto questo problema una volta.

Dovresti controllare il tuo file wp-config.php e se trovi questa riga

define('DISALLOW_FILE_MODS',true);

cambia il suo valore in false:

define('DISALLOW_FILE_MODS',false);
21 gen 2013 12:52:28
Commenti

Perfetto - un collega ha impostato questo su un sito che gestiamo, scambiandolo per DISABLE_FILE_EDIT. Comandi simili quindi suppongo sia un errore facile da fare.

John Reid John Reid
1 dic 2014 12:30:37

Funziona perfettamente per me, grazie per il tuo aiuto

Amit Verma Amit Verma
30 mag 2019 14:29:28

questa dovrebbe essere la risposta accettata...

Abed Putra Abed Putra
4 feb 2021 02:11:17

Questa è la risposta corretta. Oltre a non poter aggiornare WordPress, ti impedisce anche di installare qualsiasi plugin.

Rutwick Gangurde Rutwick Gangurde
13 nov 2021 15:03:17
1

Per chiunque altro abbia questo problema, c'è un'altra riga che potresti dover trovare nel tuo file wp-config o functions e cambiare in false:

define('DISALLOW_FILE_EDIT', true);
13 feb 2018 22:54:55
Commenti

Questa impostazione potrebbe apparire in wp-settings.php

Kristjan Adojaan Kristjan Adojaan
5 lug 2018 11:14:47
4

Prova a creare un nuovo utente amministratore nel database.

Segui questi passaggi: dovresti essere in grado di creare un nuovo utente amministratore, aggiornare e poi riassegnare i privilegi di amministratore al tuo vecchio utente. Oppure puoi utilizzare il nuovo utente.

Il tuo vecchio utente potrebbe avere impostazioni errate nel database.

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

6 gen 2013 14:55:01
Commenti

Grazie, ho provato e posso aggiungere un nuovo utente. Sfortunatamente, anche il nuovo utente non ha i permessi di aggiornamento. Molto strano.

Max Min Max Min
6 gen 2013 15:04:58

Ciao, è strano. Hai provato a scaricare manualmente WP 3.3.2 e poi sovrascrivere tutti i file (tramite ftp) (tranne il file wp-config). Poi prova ad aggiornare alla versione 3.5

mscgl mscgl
6 gen 2013 15:14:09

Ottimo suggerimento, ha funzionato - grazie! Ho sovrascritto manualmente i file core di WP e poi ho potuto aggiornare alla versione 3.5.

Max Min Max Min
6 gen 2013 16:12:10

Questa era un'ottima notizia :)

mscgl mscgl
6 gen 2013 20:52:38
1

WordPress mi stava dicendo che non avevo "permessi sufficienti" per aggiornare la mia installazione anche quando ero loggato come Amministratore.
Avevo la seguente riga nel mio file wp-config.php:
define('DISALLOW_FILE_MODS',true);
Sono riuscito ad applicare nuovamente gli aggiornamenti dopo aver cambiato questa riga in:
define('DISALLOW_FILE_MODS',false);

18 feb 2014 16:09:13
Commenti

Questa impostazione potrebbe apparire in wp-settings.php

Kristjan Adojaan Kristjan Adojaan
5 lug 2018 11:14:59
2

Aggiungi il seguente codice a un file nella root di WordPress e vai a quella pagina.

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

$role = get_role('administrator');

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

Ora, cerca [update_core] nel testo visualizzato. Il suo valore dovrebbe essere 1.

Se non lo è, aggiungi la seguente riga dopo la linea $role = get_role('administrator') per aggiungere la capability update_core all'amministratore.

$role->add_cap( 'update_core' ); 

Ricarica la pagina per verificare se il valore di [update_core] è 1. Se è 1, puoi provare a fare l'aggiornamento. Non dimenticare di eliminare il file che hai aggiunto in seguito.

Metodo 2:

Accedi a PHPMyadmin e vai alla tabella wp_users. Cerca il tuo ID utente. Ora vai a wp_usermeta e cambia il valore di wp_capabilities del tuo ID utente in a:1:{s:13:"administrator";b:1;}. Fai un backup prima di modificare il database, per sicurezza.

6 gen 2013 15:33:02
Commenti

Grazie, ho provato questo e ho ottenuto il valore "1" per [update_core]. Ma ancora non riesco ad aggiornare nulla.

Max Min Max Min
6 gen 2013 16:11:04

Aggiunto un altro suggerimento.

RRikesh RRikesh
6 gen 2013 16:16:41
0

Mi sono imbattuto in questo problema una volta durante l'aggiornamento di un'installazione 3.9.19.

Ho seguito la risposta di @RRikesh e tutto sembrava normale, ma comunque non riuscivo a eseguire l'aggiornamento.

Si è scoperto che era configurato un define('DISALLOW_FILE_MODS',true); nel file functions.php.

Quindi sì, controlla quella riga sia nel tuo wp-config.php che in functions.php.

Non sono sicuro se aggiungere quella riga a functions.php sia una pratica comune, dato che la maggior parte delle risposte qui suggerisce solo di controllare wp-config.php.

8 ago 2017 13:28:28
0

Spesso è necessario gestire le autorizzazioni corrette per file e directory nella tua installazione WordPress. Se puoi accedere al tuo server via SSH, non è affatto un problema.

  1. Reimposta i permessi di tutti i file a 664:

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

  1. Reimposta i permessi delle directory a 775:

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

  1. Ottieni l'utente che esegue Apache (l'utente dovrebbe essere nella prima riga/colonna):

ps aux | grep apache

  1. Recupera i gruppi a cui appartiene l'utente:

groups [username]

  1. Reimposta il gruppo a quello che esegue Apache:

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

Ora dovresti essere in grado di aggiornare WordPress automaticamente dal backend.

16 feb 2018 12:25:21
3
-1

È un tiro al buio, ma per caso hai qualche mu-plugin che potrebbe causare questo problema? wp-content/mu-plugins

6 gen 2013 14:43:38
Commenti

Grazie per la tua risposta, ma no, non ho nessun mu-plugin installato.

Max Min Max Min
6 gen 2013 14:50:34

Normalmente i plugin che gestiscono ruoli e capacità non dovrebbero essere inseriti nella cartella mu-plugins. I ruoli e le capacità vengono impostati durante l'attivazione del plugin o del tema poiché vengono memorizzati nel database.

RRikesh RRikesh
6 gen 2013 15:41:31

Inoltre, tentare di accedere agli oggetti ruolo prima del caricamento dei plugin genererà un errore fatale

shea shea
11 gen 2013 04:03:39