Hello,

I am running Drupal 6.13 on my linux server (it meets system requirement, php5, mysql5). Just recently, i cannot save ANY changes in permission on my website. When i want to give my authenticated users a feature, such as the "search" module, i check the box and save the permissions, however the changes are NOT reflected. There isnt even a response from Drupal saying that the changes were saved. The page just reloads and the settings were reverted.

I'm not sure what the issue is, can someone help direct me towards a solution please?

Thanks

Comments

zbricoleur’s picture

I'm guessing there's a SQL error. Have you looked at admin/reports/dblog to see if any errors are reported there?

khaji00’s picture

Hi,

I went into reports and i dont see a report/log for the database itself?

zbricoleur’s picture

It would show up as a php error, and show you the query that had failed. The admin/reports/dblog page *is* the database log.

khaji00’s picture

it seems as if i did in fact have some SQL errors looking at the error log in my root drupal directory.

I just updated to 6.14 from 6.13 and ran cron/update and my issue seems to be resolved. not sure how or what difference that made?

thanks for your help.

bigkevracer’s picture

Hi there.

I'm actually experiencing the same problem, in that my permissions won't update when I try to alter them.

I've run cron and update.php as Alex did, and it still doesn't work.

I've increased the max post limit, and that didn't help.

I've flushed all the caches, and that didn't help.

I'm running all the latest updates and it still won't save.

Error log is empty.

Does anyone have an ideas on what might be causing this strange behaviour?

Thanks!
Ryan

bigkevracer’s picture

I've somehow managed to fix this, and I have no idea what the cause was.

I tried the age old way of fixing Drupal problems in the end - turn off modules until it would work, then turned them back on!

If anyone knows what might have cause the issue, please let me know, as it'd be good not to have it again!

Thanks!

khaji00’s picture

Hi Ryan,

I can't really tell you what i did to fix it either. When you upgrade your site you need to turn off all the modules anyway so maybe, so maybe that did the charm.

It was really frustrating. Do you have cron set up to automatically run? I used to manually run cron and now that it automatically runs and i check for updated modules regularly, my site runs smoother (as stated in the documentation).

-Alex

cdchase’s picture

The actual problem I finally tracked down is that PHP has a default setting of 1000 for max_input_vars, and once you have a significant number of modules and/or roles defined, you end up with an excess number of permissions boxes on the page. See info on max_input_vars.

The solution found above by others works because it reduces the number of check boxes by turning off some modules. It would not really matter which ones!

Patribus’s picture

What a relief to have found your post.
The max_input_vars issue seems to be the reason, unfortunately I do not have access to this parameter in my shared server... But the hint to edit each user role individually works!

Thanks

alienzed’s picture

like

shahidbscs’s picture

i have created 7 roles & when i try to save there permissions it not show any successful or error message & also not save permission settings.
i m using drupal 7 when i try to save permission individual roles then it work perfectly.
i also try setting.php parameters for large posting
ini_set('pcre.backtrack_limit', 200000);
ini_set('pcre.recursion_limit', 200000);
but it not work for me.
there is no error message show in dblog file.
i think it is a large posting issue but above settings not work.
any help thanks in advance.

kenianbei’s picture

kenianbei’s picture

A better option that doesn't require maintaining .htaccess between updatea is to install the filter perms module:
https://drupal.org/project/filter_perms

tacoparty’s picture

This module did the trick for me. Thanks a lot!

silentway’s picture

Agreed, "Filter Permissions" module did the trick for me.

I encountered this problem with Drupal 6.30 with a shared server on DreamHost. After lots of tinkering, nothing had worked until this module. In an ideal world, the server could be jacked up to allow this many checkboxes on a page to be submitted. But, using this module is a lot cheaper than paying for a dedicated (non-shared) server. And it improves the UI.

vids’s picture

Thanks @shahidbscs . I was facing this problem since morning and after saving permission for each individual role, it worked like a MAGIC!

drupalfan81’s picture

Thank god I found this post! This was driving me nuts and made no sense. I even cranked it up to 2000 and I still had the problem. I then thought perhaps I need even more. I don't know where the magic number sits, but after I upped it to 4000 vars, it worked. Thanks!!

seanr’s picture

Ooooh! Nice catch, cdchase! You just saved me a serious headache.

gdesmarais’s picture

I had upped both my post size and input vars to ridiculous levels. No joy, and the page load was very slow. The Filter Perms worked like a charm.

tinker’s picture

Thanks @kenianbei, filter_perms module is a great suggestion that is a valuable addition to all sites with many permissions.

muhammad.tanweer’s picture

The problem is with max_input_vars . By default its value is set to 1000 which means you can submit no more than 1000 fields in one request. In case of the permissions page, it can go beyond that if there are lots of roles and lots of modules installed.
One temporary workaround just to update permissions is that go to the roles page, and then click on "edit permissions" for a specific role. That will decrease the number of fields on that permission page because it will show checkboxes for only that role.

But a permanent solution is to set max_input_vars to a higher number in php.ini

DrCord’s picture

the php setting max_input_vars was the problem for our site too, setting it to a higher value (5000) fixed our site's ability to save permissions.