David Metzler wrote:

"I downloaded and looked at the code for user_access and I have one  
idea.  I've had some problem intializing static structures to arrays  
or objects in certain versions of php.  Try changing the definition  
of $perm as follows:

static $perm = '';
if (!$perm) $perm = array();

See if that changes the caching behavior in your php rev."

"Another minor point regarding this debug,  Since you're not dumping  
all of the $perm variable, we don't really know that the user_id is  
the same. What if the user_id was being checked?  (we know which was  
being modified) Would recommend debugging print_r($account,1) and  
print_r($perm,1) after the reset line."

I've added a var_export command to dump the values from both $account and $var.  I'm also using the $perm definition suggested above.


This is the initial call to user_access to flush the $perm variable:

This is the next call to user_access should contain the values of $perm from above, but don't.

Again, this problem only occurs, so far, when I have one of these modules installed along with OGUR: tac_lite, taxonomy_access, menu_breadcrumb and admin_menu.  Other modules with which I'm told this problem occurs:

I've searched the code of these modules for some indication of their modifying the $perm variable, but can find none.

I do really appreciate the help.  This is driving me nuts!  I can find no logical explanation for this modification, thus I'm unable to figure out a way around it.

-ron