当我转到 admin/build/modules 时,匿名用户访问被拒绝

When I go to admin/build/modules, anonymous users get access denied

我转到 admin/build/modules,不做任何更改,然后单击 'Save Configuration'

在数据库 table menu_router 中,它删除了值为 1 或 'user_access' 的项目的 access_callback 值。

因此,在匿名用户应该能够访问的页面上,他们会收到一条访问被拒绝的消息(您无权访问此页面)。

我能够手动设置数据库中的值,但这确实不是我每次去 admin/build/modules 时的长期解决方案。

今天是这种情况开始发生的第一天。我确实更改了一些菜单项,因为我想更新它们的功能名称。更新后,我去了 admin/build/modules,然后 devel/menu/reset,然后 admin/settings/performance 并清除了缓存。我不确定究竟是什么导致了这种情况。

在文件 includes/database.mysql.inc 的函数 db_escape_string 中,我有一些自定义代码。

function db_escape_string($text) {
  global $active_db;
  if (!is_string($text)){ return '';} //custom
  return mysql_real_escape_string($text, $active_db);
}

我注释掉了我的自定义代码,现在它工作正常。