为什么我的CakePHP flash消息没有出现?

Far*_*ray 1 cakephp session-variables http-headers cakephp-1.3

背景:我是CakePHP的新手.我有一个小的测试网站(目前主要是静态视图和联系表格),在我学习的时候可以玩.在localhost(Ubuntu上的Apache)上一切正常,所以我将它部署到共享主机帐户(由Lunarpages提供).我将/ cake文件夹移出了正常的目录结构(所以我可以将它用于多个应用程序)并且我相应地重新配置了我的webroot的index.php路径.

问题:

  1. setFlash消息不会显示.甚至做一个除了之外什么都不做的简单视图$this->Session->setFlash('message');.我没有收到任何错误消息,闪存只是没有显示
  2. 重定向不起作用.例如,在联系表单完成后我想$this->redirect( array( 'action' => 'success' ), null, true);但服务器会抛出错误:

    警告(2):无法修改标题信息 - 已经发送的标题(输出从/routetoapp/config/routes.php:40开始)[CORE/cake/libs/controller/controller.php,第742行]

其他所有东西似乎都像在localhost上一样工作 - URL重写,组件加载,模型验证.我不知道我的问题是相关的还是单独的问题

到目前为止的疑难

  1. 我已经尝试了'蛋糕'和'php',Configure::write('Session.save', 'val');但两者都没有区别.
  2. 我的app/tmp文件夹是可写的.
  3. 我的布局模板具有用于显示Flash消息的正确代码.(完全相同的M,V,C和Layout对象显示localhost上的预期闪存)

我想我错过了一些简单的东西,但我是这个框架的新手,所以我不确定在哪里看.

Joh*_*hnP 6

请参阅Matt Huggins回答您的闪存问题.那是对的

至于你的重定向问题,

您的文件中可能有额外的空格或内容routes.php.确保在起始<?php标记之前没有空格并删除结束?>

  • 别担心!在PHP文件中省略关闭`?>`标记以避免这个问题总是好的做法. (2认同)