首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓存页面时,Cakephp不能正确重定向

缓存页面时,Cakephp不能正确重定向
EN

Stack Overflow用户
提问于 2009-11-10 08:40:51
回答 3查看 1.4K关注 0票数 4

在我用CakePHP实现全页面缓存之前,我遇到了一些正常工作的网站的问题。

我遵循了手册中的指导,并将我的$session->闪存放在一个无缓存块中,如下所示:

代码语言:javascript
运行
复制
<cake:nocache>
    <? 
    if($session->check('Message.flash')){
        $session->flash();
    } 
    ?>
</cake:nocache>

但是,每当控制器设置闪存消息并重定向到缓存页面时,页面都会加载到标记,然后给出错误:

代码语言:javascript
运行
复制
Notice (8): Trying to get property of non-object
[CORE/cake/libs/view/helpers/session.php, line 145]

Fatal error: Call to undefined method stdClass::renderLayout() in
/home/decipherd/domains/example.com/public_html/beta/cake/libs/view/helpers/session.php
on line 14

如果我随后转到由另一个控制器创建的页面,则显示正确的(延迟的)消息,并且页面正确加载。

现在,我已经将其作为ticket 282提交给了CakePHP跟踪程序

EN

回答 3

Stack Overflow用户

发布于 2009-11-10 12:20:04

听起来这可能是内核的问题,你试过submitting a bug report吗?

票数 1
EN

Stack Overflow用户

发布于 2009-11-10 14:30:44

你确定闪电信息里有什么东西吗?尝试:

代码语言:javascript
运行
复制
debug($session->read());

或者将其输出到debug.log

代码语言:javascript
运行
复制
$this->log($session->read(), LOG_DEBUG); // this might not work in the view?
票数 1
EN

Stack Overflow用户

发布于 2009-11-10 18:20:42

从错误消息中可以看出,由于某些原因,SessionHelper似乎不可用。

我不确定确切的原因,在应用程序中使用AuthComponent或SessionComponent时,通常会自动加载此帮助器。

这只是一个猜测,但为了更好地衡量,可能值得将$helpers = array('Session', ...);放在问题控制器或AppController中。

您可以使用debug($this);检查视图中的所有可用内容

最终,我会采纳Matt的建议,升级到最新的稳定版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1704948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档