With a lot of modules, permissions and user roles, the permissions page in the Drupal web-admin can become so big that stops saving.
Add this lines of php in /sites/default/settings.php:
ini_set('pcre.backtrack_limit', 10000000);
ini_set('pcre.recursion_limit', 500000);
Add or correct this lines in your php.ini or .htaccess file:
php_value max_input_vars 2048
php_value max_input_time 120
If your server has the PHP-Suhosin patch installed, add/correct in the php.ini file:
php_value suhosin.post.max_array_index_length 512
php_value suhosin.post.max_name_length 512
php_value suhosin.post.max_vars 2048
php_value suhosin.request.max_array_index_length 512
php_value suhosin.request.max_vars 2048
P.S. Try also higher values. These are right for my (complex) sites.