Администратор не может обновить WordPress

6 янв. 2013 г., 13:51:45
Просмотры: 40.8K
Голосов: 20

У меня есть сайт на WordPress 3.3.2. В панели администратора отображается сообщение "WordPress 3.5 доступен! Пожалуйста, уведомите администратора сайта."

Забавно то, что я авторизован как администратор, я это дважды проверил. При попытке доступа к странице обновления (wp-admin/update-core.php) я получаю следующую ошибку:

"У вас недостаточно прав для доступа к этой странице."

Есть какие-нибудь идеи, что может быть причиной? Спасибо.

2
Комментарии

Чистая установка? У вас были какие-либо плагины, которые могли изменить права администратора?

RRikesh RRikesh
6 янв. 2013 г. 14:05:53

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

Max Min Max Min
6 янв. 2013 г. 14:15:49
Все ответы на вопрос 8
4
44

У меня была такая проблема однажды.

Вам следует проверить ваш файл wp-config.php, и если вы найдете там такую строку

define('DISALLOW_FILE_MODS',true);

измените её значение на false:

define('DISALLOW_FILE_MODS',false);
21 янв. 2013 г. 12:52:28
Комментарии

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

John Reid John Reid
1 дек. 2014 г. 12:30:37

Это отлично сработало для меня, спасибо за помощь

Amit Verma Amit Verma
30 мая 2019 г. 14:29:28

это должен быть принятый ответ...

Abed Putra Abed Putra
4 февр. 2021 г. 02:11:17

Это правильный ответ. Кроме невозможности обновлять WordPress, это также запрещает установку любых плагинов.

Rutwick Gangurde Rutwick Gangurde
13 нояб. 2021 г. 15:03:17
1

Если у вас возникла такая же проблема, возможно, вам нужно найти в файле wp-config или functions.php еще одну строку и изменить её значение на false:

define('DISALLOW_FILE_EDIT', true);
13 февр. 2018 г. 22:54:55
Комментарии

Эта настройка может находиться в файле wp-settings.php

Kristjan Adojaan Kristjan Adojaan
5 июл. 2018 г. 11:14:47
4

Попробуйте создать нового администратора в базе данных.

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

Возможно, у вашего старого пользователя неправильные настройки в базе данных.

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

6 янв. 2013 г. 14:55:01
Комментарии

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

Max Min Max Min
6 янв. 2013 г. 15:04:58

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

mscgl mscgl
6 янв. 2013 г. 15:14:09

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

Max Min Max Min
6 янв. 2013 г. 16:12:10

Это была отличная новость :)

mscgl mscgl
6 янв. 2013 г. 20:52:38
1

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

18 февр. 2014 г. 16:09:13
Комментарии

Эта настройка может быть в файле wp-settings.php

Kristjan Adojaan Kristjan Adojaan
5 июл. 2018 г. 11:14:59
2

Добавьте следующий код в файл в корневой директории 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;}. Перед внесением изменений в базу данных сделайте резервную копию на всякий случай.

6 янв. 2013 г. 15:33:02
Комментарии

Спасибо, я попробовал это и получил значение "1" для [update_core]. Но все равно не могу ничего обновить.

Max Min Max Min
6 янв. 2013 г. 16:11:04

Добавил еще одно предложение.

RRikesh RRikesh
6 янв. 2013 г. 16:16:41
0

Я столкнулся с этой проблемой при обновлении установки версии 3.9.19.

Я последовал ответу @RRikesh, и всё казалось нормальным, но обновление всё равно не запускалось.

Оказалось, что в functions.php была настроена строка define('DISALLOW_FILE_MODS',true);.

Так что да, проверьте наличие этой строки не только в wp-config.php, но и в functions.php.

Не уверен, является ли добавление этой строки в functions.php распространённой практикой, так как большинство ответов здесь предлагают проверять только wp-config.php.

8 авг. 2017 г. 13:28:28
0

Часто приходится иметь дело с настройкой правильных разрешений для файлов и директорий в WordPress. Если у вас есть доступ к серверу через SSH, это не составит труда.

  1. Установите разрешения для всех файлов в 664:

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

  1. Установите разрешения для всех директорий в 775:

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

  1. Определите пользователя, под которым запущен Apache (пользователь будет указан в первой строке/столбце):

ps aux | grep apache

  1. Проверьте, в каких группах состоит пользователь:

groups [имя_пользователя]

  1. Измените группу для всех файлов и директорий на группу, под которой работает Apache:

chgrp -R [группа] /var/www/html/

Теперь вы сможете обновлять WordPress автоматически из админ-панели.

16 февр. 2018 г. 12:25:21
3
-1

Это выстрел в темноте, но у вас есть какие-либо mu-плагины, которые могут вызывать эту проблему? wp-content/mu-plugins

6 янв. 2013 г. 14:43:38
Комментарии

Спасибо за ответ, но нет, у меня не установлены никакие mu-plugins.

Max Min Max Min
6 янв. 2013 г. 14:50:34

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

RRikesh RRikesh
6 янв. 2013 г. 15:41:31

Кроме того, попытка доступа к объектам ролей до загрузки плагинов приведет к фатальной ошибке.

shea shea
11 янв. 2013 г. 04:03:39