Администратор не может обновить WordPress
У меня есть сайт на WordPress 3.3.2. В панели администратора отображается сообщение "WordPress 3.5 доступен! Пожалуйста, уведомите администратора сайта."
Забавно то, что я авторизован как администратор, я это дважды проверил. При попытке доступа к странице обновления (wp-admin/update-core.php) я получаю следующую ошибку:
"У вас недостаточно прав для доступа к этой странице."
Есть какие-нибудь идеи, что может быть причиной? Спасибо.

Идеально - коллега установил это на сайте, которым мы управляем, перепутав с DISABLE_FILE_EDIT. Похожие команды, так что, полагаю, это легко сделать по ошибке.

Попробуйте создать нового администратора в базе данных.
Следуя этим шагам, вы сможете создать нового пользователя с правами администратора, затем обновить данные и вернуть права администратора старому пользователю. Или просто использовать нового пользователя.
Возможно, у вашего старого пользователя неправильные настройки в базе данных.
http://www.dnawebagency.com/how-to-add-an-admin-user-to-the-wordpress-database

Спасибо, я попробовал это и смог добавить нового пользователя. К сожалению, у нового пользователя тоже нет прав на обновление. Очень странно.

Привет, это странно. Ты пробовал скачать WP 3.3.2 вручную и затем перезаписать все файлы (через FTP) (кроме wp-config файла)? Потом попробуй обновиться до 3.5.

Отличный совет, это сработало – спасибо! Я вручную перезаписал файлы ядра WP и затем смог обновиться до 3.5.

WordPress сообщал мне, что у меня 'недостаточно прав' для обновления моей собственной установки, даже когда я был авторизован как Администратор.
У меня была следующая строка в файле wp-config.php:
define('DISALLOW_FILE_MODS',true);
Я смог снова применять обновления после того, как изменил эту строку на:
define('DISALLOW_FILE_MODS',false);

Добавьте следующий код в файл в корневой директории WordPress и перейдите на эту страницу.
<?php
define('WP_USE_THEMES', false);
require('wp-blog-header.php');
$role = get_role('administrator');
echo '<pre>';
print_r($role);
echo '</pre>';
Теперь найдите [update_core]
в отображаемом тексте. Его значение должно быть 1
.
Если это не так, добавьте следующую строку после строки $role = get_role('administrator')
, чтобы добавить возможность update_core
администратору.
$role->add_cap( 'update_core' );
Обновите страницу, чтобы убедиться, что значение [update_core]
стало 1
. Если оно равно 1
, вы можете попробовать выполнить обновление. Не забудьте удалить добавленный файл после этого.
Метод 2:
Зайдите в PHPMyadmin и перейдите к таблице wp_users
. Найдите свой ID пользователя. Затем перейдите в wp_usermeta
и измените значение wp_capabilities
для вашего ID пользователя на a:1:{s:13:"administrator";b:1;}
. Перед внесением изменений в базу данных сделайте резервную копию на всякий случай.

Я столкнулся с этой проблемой при обновлении установки версии 3.9.19.
Я последовал ответу @RRikesh, и всё казалось нормальным, но обновление всё равно не запускалось.
Оказалось, что в functions.php
была настроена строка define('DISALLOW_FILE_MODS',true);
.
Так что да, проверьте наличие этой строки не только в wp-config.php
, но и в functions.php
.
Не уверен, является ли добавление этой строки в functions.php
распространённой практикой, так как большинство ответов здесь предлагают проверять только wp-config.php
.

Часто приходится иметь дело с настройкой правильных разрешений для файлов и директорий в WordPress. Если у вас есть доступ к серверу через SSH, это не составит труда.
- Установите разрешения для всех файлов в 664:
find /var/www/html/ -type f -exec chmod 664 {} \;
- Установите разрешения для всех директорий в 775:
find /var/www/html/ -type d -exec chmod 775 {} \;
- Определите пользователя, под которым запущен Apache (пользователь будет указан в первой строке/столбце):
ps aux | grep apache
- Проверьте, в каких группах состоит пользователь:
groups [имя_пользователя]
- Измените группу для всех файлов и директорий на группу, под которой работает Apache:
chgrp -R [группа] /var/www/html/
Теперь вы сможете обновлять WordPress автоматически из админ-панели.

Обычно плагины, работающие с ролями и возможностями, не следует помещать в папку mu-plugins. Роли и возможности устанавливаются либо при активации плагина, либо при активации темы, поскольку они хранятся в базе данных.
