背景:我是CakePHP的新手。在我學習的時候,我有一個小型測試網站(主要是靜態視圖和聯繫表單)。在localhost(Ubuntu上的Apache)上一切正常,因此我將它部署到共享主機帳戶(由Lunarpages提供)。我將/ cake文件夾移出正常的目錄結構(因此我可以將它用於多個應用程序),並且相應地重新配置了我的webroot的index.php路徑。爲什麼我的CakePHP flash消息不會顯示?
問題:
setFlash
消息沒有得到顯示。即使提出一個簡單的看法,除了$this->Session->setFlash('message');
之外什麼都不做。我沒有收到任何錯誤消息,閃光燈不顯示重定向不起作用。舉例來說,完成的聯繫方式後,我想
$this->redirect(array('action' => 'success'), null, true);
但服務器拋出一個錯誤:Warning (2): Cannot modify header information - headers already sent by (output started at /routetoapp/config/routes.php:40) [CORE/cake/libs/controller/controller.php, line 742]
一切似乎因爲它沒有在本地主機上以剛工作 - URL重寫,組件加載,模型驗證。我不知道如果我的問題,到目前爲止相關的或獨立的問題
故障排除:
- 我都試過「蛋糕」和「PHP」的
Configure::write('Session.save', 'val');
但也發揮了作用。 - 我的app/tmp文件夾是可寫的。
- 我的佈局模板具有用於顯示Flash消息的正確代碼。 (完全相同的M,V,C和佈局對象在本地主機上顯示預期的閃存)
我假設我缺少一些簡單的東西,但我是新來的這個框架,所以我不確定在哪裏別的去看看。
謝謝! ''>'後面有一個空格,我可能不會在50年的時間裏看到這個文件。我現在贊成你,因爲這很有幫助。我單獨回覆了馬特的消息,但可能會重新打開一個單獨的問題,以便我可以接受你的答案。 – Farray 2011-02-23 17:30:26
Waddya'知道......在'?>'之後刪除空格也解決了'setFlash'問題。我對PHP會話和頭文件不夠了解,因此很明白爲什麼,但它確實有效。 – Farray 2011-02-23 17:33:52
不用擔心!在PHP專用文件中忽略關閉'?>'標籤總是一個好習慣,以避免這個問題。 – JohnP 2011-02-23 18:34:41