19

I have a site running WP 3.3.2. The backend shows a bar saying "WordPress 3.5 is available! Please notify the site administrator."

Funny thing is that I'm logged in with an admin user, I double checked that. When trying to access the update page (at wp-admin/update-core.php) I get this error:

"You do not have sufficient permissions to access this page."

Any hints on what could be going on here? Thanks.

2
  • Fresh install? Did you have any plugin that could have modified your admin's capabilities?
    – RRikesh
    Jan 6, 2013 at 12:05
  • I disabled all plugins, but that did not help. I did not make a fresh install yet because I have lots of contents I would have to move to the new install. Will try that if there's no other solution.
    – Max Min
    Jan 6, 2013 at 12:15

8 Answers 8

3

Try to make a new admin user in the db.

Follow these steps you should be able to create a new admin user, then update and then you can give your old user admin rights again. Or use the new user.

Your old user might have wrong setting in the DB

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

4
  • Thanks, I tried that and I can add a new user. Unfortunately, the new user does not have update permissions either. Very strange.
    – Max Min
    Jan 6, 2013 at 13:04
  • Hi, thats strange. Have you tried download WP 3.3.2 manually and then write over all files (via ftp) (not the wp-config file). then try to update to 3.5
    – mscgl
    Jan 6, 2013 at 13:14
  • Great tip, that worked – thanks! I manually overwrote my WP core files and then could update to 3.5.
    – Max Min
    Jan 6, 2013 at 14:12
  • That was great news :)
    – mscgl
    Jan 6, 2013 at 18:52
43

I had this problem once.

You should check your wp-config.php file and if you find this line

define('DISALLOW_FILE_MODS',true);

change its value to false:

define('DISALLOW_FILE_MODS',false);
4
  • Perfect - a collegue set this on a site we manage mistaking it for DISABLE_FILE_EDIT. Similar commands so I suppose it is an easy mistake to make.
    – John Reid
    Dec 1, 2014 at 10:30
  • This work fine for me thanks for your help
    – Amit Verma
    May 30, 2019 at 11:29
  • 1
    this is must be accepted answer...
    – Abed Putra
    Feb 4, 2021 at 0:11
  • This is the correct answer. In addition to not being able to update WP, it also prohibits your from installing any plugins. Nov 13, 2021 at 13:03
8

For anyone else with this problem, there is another line that you may have to find in your wp-config or functions file and change to false:

define('DISALLOW_FILE_EDIT', true);
1
  • This setting may appear in wp-settings.php Jul 5, 2018 at 8:14
3

WordPress was telling me I didn't have 'sufficient permissions' to update my own install even when logged in as the Administrator.
I had the following line in my wp-config.php file:
define('DISALLOW_FILE_MODS',true);
I was able to apply updates once again after I changed this line to:
define('DISALLOW_FILE_MODS',false);

1
  • This setting may appear in wp-settings.php Jul 5, 2018 at 8:14
1

Add the following code to a file in your wordpress root and go to that page.

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

$role = get_role('administrator');

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

Now, look for [update_core] in the text displayed. It's value should be 1.

If not, add the following line after the $role = get_role('administrator') line to add the update_core capability to the administrator.

$role->add_cap( 'update_core' ); 

Reload the page to see if the value of [update_core] is 1. If it is 1, you can try to do the update. Don't forget to delete the file you've added afterwards.

Method 2:

Get on PHPMyadmin and go to the wp_users table. Look for your user ID. Now go to wp_usermeta and change the wp_capabilities of your user ID to a:1:{s:13:"administrator";b:1;}. Do a backup before touching the database, just in case.

2
  • Thanks, I tried this and got value "1" for [update_core]. But still, I can't update anything.
    – Max Min
    Jan 6, 2013 at 14:11
  • Added another suggestion.
    – RRikesh
    Jan 6, 2013 at 14:16
0

I encountered this issue once when updating a 3.9.19 installation.

I followed @RRikesh answer and everything seemed to be normal but still I can't run update.

It turns out a define('DISALLOW_FILE_MODS',true); was configured in functions.php.

So yeah, look for that line in your wp-config.php as well as functions.php.

Not sure if adding that line to functions.php is common practice since most answers here only suggest looking at wp-config.php

0

Often you have to deal with giving your wordpress installation the correct file and directory permissions. If you can log into your server via SSH it is no problem at all.

  1. Reset permission of all files to 664:

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

  1. Reset permission of directories to 775:

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

  1. Get user which is running Apache (User should be the first row/column):

ps aux | grep apache

  1. Retrieve the groups the user is part of:

groups [username]

  1. Reset the group to the group running Apache:

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

Now you should be able to update Wordpress automatically from your backend.

-1

This is a shot in the dark, but do you by chance have any mu-plugins that could be causing this? wp-content/mu-plugins

3
  • Thanks for your answer, but no, I don't have any mu-plugins installed.
    – Max Min
    Jan 6, 2013 at 12:50
  • 1
    Normally plugins dealing with roles & capabilities shouldn't be put in mu-plugins folder. Roles and caps are set either on plugin activation or theme activation since they are stored in the database.
    – RRikesh
    Jan 6, 2013 at 13:41
  • Plus, trying to access role objects before plugins loaded will generate a fatal error
    – shea
    Jan 11, 2013 at 2:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.