Utilizatorul admin nu poate actualiza WordPress
Am un site care rulează WordPress 3.3.2. În backend apare o bară cu mesajul "WordPress 3.5 este disponibil! Vă rugăm să notificați administratorul site-ului."
Ciudat este că sunt autentificat cu un cont de administrator, am verificat de două ori acest lucru. Când încerc să accesez pagina de actualizare (la wp-admin/update-core.php) primesc această eroare:
"Nu aveți permisiuni suficiente pentru a accesa această pagină."
Aveți vreo sugestie despre ce s-ar putea întâmpla? Mulțumesc.

Perfect - un coleg a setat asta pe un site pe care îl gestionăm, confundându-l cu DISABLE_FILE_EDIT. Comenzi similare, așa că presupun că este o greșeală ușor de făcut.

Încearcă să creezi un nou utilizator admin în baza de date.
Urmând acești pași, ar trebui să poți crea un nou utilizator admin, apoi să îl actualizezi și apoi să îi poți acorda din nou drepturile de admin vechiului utilizator. Sau poți folosi noul utilizator.
Este posibil ca vechiul tău utilizator să aibă setări incorecte în baza de date.
http://www.dnawebagency.com/how-to-add-an-admin-user-to-the-wordpress-database

Mulțumesc, am încercat asta și pot adăuga un utilizator nou. Din păcate, noul utilizator nu are nici el permisiuni de actualizare. Foarte ciudat.

Bună, asta e ciudat. Ai încercat să descarci manual WP 3.3.2 și apoi să suprascrii toate fișierele (prin FTP) (exceptând fișierul wp-config)? Apoi încearcă să actualizezi la versiunea 3.5.

Sfaturi excelente, a funcționat - mulțumesc! Am suprascris manual fișierele de bază WP și apoi am putut face actualizarea la 3.5.

WordPress îmi spunea că nu am 'permisiuni suficiente' pentru a actualiza propria mea instalație, chiar și când eram autentificat ca Administrator.
Aveam următoarea linie în fișierul meu wp-config.php:
define('DISALLOW_FILE_MODS',true);
Am putut aplica actualizările din nou după ce am schimbat această linie în:
define('DISALLOW_FILE_MODS',false);

Adaugă următorul cod într-un fișier în directorul rădăcină al WordPress-ului și accesează acea pagină.
<?php
define('WP_USE_THEMES', false);
require('wp-blog-header.php');
$role = get_role('administrator');
echo '<pre>';
print_r($role);
echo '</pre>';
Acum, caută [update_core]
în textul afișat. Valoarea ar trebui să fie 1
.
Dacă nu este, adaugă următoarea linie după linia $role = get_role('administrator')
pentru a adăuga capabilitatea update_core
administratorului.
$role->add_cap( 'update_core' );
Reîncarcă pagina pentru a verifica dacă valoarea lui [update_core]
este acum 1
. Dacă este 1
, poți încerca să faci actualizarea. Nu uita să ștergi fișierul adăugat după aceea.
Metoda 2:
Accesează PHPMyadmin și mergi la tabela wp_users
. Caută ID-ul tău de utilizator. Acum mergi la wp_usermeta
și schimbă wp_capabilities
pentru ID-ul tău de utilizator în a:1:{s:13:"administrator";b:1;}
. Fă o copie de rezervă a bazei de date înainte de a o modifica, pentru orice eventualitate.

Am întâmpinat această problemă odată când am actualizat o instalare 3.9.19.
Am urmat răspunsul lui @RRikesh și totul părea să fie în regulă, dar tot nu pot rula actualizarea.
Se pare că o linie define('DISALLOW_FILE_MODS',true);
era configurată în functions.php
.
Deci da, căutați acea linie în wp-config.php
, precum și în functions.php
.
Nu sunt sigur dacă adăugarea acelei linii în functions.php
este o practică comună, deoarece majoritatea răspunsurilor de aici sugerează doar să verificați wp-config.php
.

Deseori trebuie să te confrunți cu stabilirea permisiunilor corecte pentru fișiere și directoare în instalarea WordPress. Dacă te poți conecta la server prin SSH, nu este deloc o problemă.
- Resetează permisiunile tuturor fișierelor la 664:
find /var/www/html/ -type f -exec chmod 664 {} \;
- Resetează permisiunile directoarelor la 775:
find /var/www/html/ -type d -exec chmod 775 {} \;
- Obține utilizatorul care rulează Apache (Utilizatorul ar trebui să fie pe primul rând/coloană):
ps aux | grep apache
- Obține grupurile din care face parte utilizatorul:
groups [nume_utilizator]
- Resetează grupul la grupul care rulează Apache:
chgrp -R [grup] /var/www/html/
Acum ar trebui să poți actualiza WordPress automat din panoul de administrare.

În mod normal, plugin-urile care se ocupă de roluri și capabilități nu ar trebui plasate în folderul mu-plugins. Rolurile și capabilitățile sunt setate fie la activarea plugin-ului, fie la activarea temei, deoarece sunt stocate în baza de date.
