我和cakephp一起工作。在所有页面中都有此警告:
警告(2):strtolower()期望参数1为字符串,给定数组为[CORE / src / Controller / Component / AuthComponent.php,第337行]
在第337行:
protected function _isAllowed(Controller $controller)
{
$action = strtolower($controller->request->params['action']);
return in_array($action, array_map('strtolower', $this->allowedActions));
}
如何解决这个问题?
答案 0 :(得分:0)
请检查$this->allowedActions
变量是一维数组还是使用pr函数确定子数组。
pr($this->allowedActions);
die();
请注意,通过使用array_map()
传入内置的php函数,多维数组无法正常工作。您需要使自定义函数类似于custom_strtolower()
,并且必须在array_map()
中传递此函数。
我希望你能调试自己,我的诀窍将帮助你。
答案 1 :(得分:0)
我理解警告的原因并解决了它。我用过
$this->Auth->allow(['display','add',['controller'=>'options','action'=>'add']]);
_isAllowd函数检查当前操作是否可以在没有身份验证的情况下访问通过在AppController中获取此行来删除此警告。