我正在部署一个CakePhp项目,在本地主机中工作良好,但在生产中,当我调用任何控制器的任何索引动作时,我有白屏。调试级别为3级,无cake php错误日志,无httpd错误日志,无php错误日志。不需要用日志进行调试。
权限正常,缓存文件夹为空,mod_rewrite正常,删除文件末尾的空白…
我可以调用登录操作,但是登录失败。我正在调试print_r和echo,然后我发现CakePhp无法初始化会话,session_id总是空的。setFlash方法不工作。也没有提示登录失败。
我的应用程序也有同样的问题。
检查:
1)。在控制器中,检查<?php
标签(BOM)之前是否有任何东西。我总是检查vim。
2)。检查tmp
文件夹是否可写。(chmod -R 777 app/tmp
)
3)。检查服务器上是否安装了更新版本的PHP。
也许你应该先检查2.)
我解决了这个问题!这是一个文件编码问题!在我的本地主机项目UTF-8工作正常(Windows 7 with Wamp),但在linux CentOS服务器UTF-8不工作,我不得不将所有文件保存为"ANSI as UTF-8"(没有BOM)。
您是否尝试过使用不同的方法来存储会话?
Cake默认使用fileEngine,但是如果权限搞砸了或者写入文件出错,你可以通过mySQL存储会话。
我认为有一个字段设置会话为MEMORY或DATABASE,而不是FileEngine。