L'utente amministratore non può aggiornare WordPress
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.

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.

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

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

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

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

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);

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.

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
.

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.
- Reimposta i permessi di tutti i file a 664:
find /var/www/html/ -type f -exec chmod 664 {} \;
- Reimposta i permessi delle directory a 775:
find /var/www/html/ -type d -exec chmod 775 {} \;
- Ottieni l'utente che esegue Apache (l'utente dovrebbe essere nella prima riga/colonna):
ps aux | grep apache
- Recupera i gruppi a cui appartiene l'utente:
groups [username]
- 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.

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.
