Admin user can’t update WP

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:

Read More

“You do not have sufficient permissions to access this page.”

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

Related posts

Leave a Reply

8 comments

  1. 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);
    
  2. 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);
    
  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);

  4. 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.

  5. 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

  6. 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.