0

我正在部署一个在 localhost 中运行良好的 CakePhp 项目,但是在生产中,当我调用任何控制器的任何索引操作时,我都会出现白屏。调试级别为 3,没有 cake php 错误日志,没有 httpd 错误日志,没有 php 错误日志。没有什么可以用日志调试的。

权限正常,缓存文件夹为空,mod_rewrite 正常,文件末尾的空格被删除...

我可以调用登录操作,但登录失败。我正在使用 print_r 和 echo 进行调试,然后我发现 CakePhp 无法初始化会话,session_id 为空。方法 setFlash 不起作用。也没有登录失败的闪烁消息。

请帮我。

4

3 回答 3

3

我的应用程序也遇到了同样的问题。

检查这个:

1.)在您的控制器<?php内部,检查标签(BOM )之前是否有任何内容。我一直在检查vim

2.) 检查您的tmp文件夹是否可写。( chmod -R 777 app/tmp)

3.) 检查您的服务器上是否安装了 PHP 的更新版本。

也许你应该先检查 2.)。

于 2013-03-13T08:24:08.257 回答
1

我解决了这个问题!这是一个文件编码问题!在我的 localhost 项目中,UTF-8工作正常(带有 Wamp 的 Windows 7),但在 linux CentOS 服务器上,UTF-8 不起作用,我必须将所有文件保存为“ ANSI as UTF-8 ”(没有 BOM)。

于 2013-03-15T23:29:31.877 回答
0

您是否尝试过使用不同的方法来存储会话?

Cake 默认使用 fileEngine,但如果权限被搞砸或写入文件时出错,您可以通过 mySQL 存储会话。

我认为有一个字段可以将会话设置为 MEMORY 或 DATABASE,而不是 FileEngine。

于 2013-03-13T08:27:50.260 回答