CodeIgniter项目加载空白网页

时间:2011-09-20 14:29:18

标签: php macos apache codeigniter ubuntu

我有一个codeigniter项目,我在Mac OS X Lion上成功运行。当尝试在ubuntu中运行相同的项目时,请求localhost / project会导致没有源的空白页面。

我已将AllowOverride All添加到apache.conf无济于事。我的最新策略是将一个die()语句放在索引和包含文件的战略位置,试图找到代码失败的行。通过这种方法,我在system / core / CodeIgniter.php中找到了行“$ CI = new $ class();”之前的die语句。执行,而后一个(并且可能是所有后续代码)不执行。

如何帮助我在本地运行此项目?

谢谢!

3 个答案:

答案 0 :(得分:6)

当我开始使用CI时,我有相同的空白页。

对我来说,只是忘了在我的机器上安装mySQL。您不会收到错误,因为在系统文件中,数据库连接前面有一个“@”,因此不会显示任何错误。

如果这不是问题,请检查您的PHP版本,或尝试在index.php文件中添加phpinfo()。

答案 1 :(得分:0)

在你的某些文件中结束PHP标记后,你是否有机会放置任何空格或新行?如果是这样 - 删除它们以及关闭PHP标记。

(P.S。在代码点火器中,你永远不应该在只包含PHP代码的文件中关闭PHP标签 - Controller,Model,...)

答案 2 :(得分:0)

我最后只得到了类似的问题 - 在Ubuntu上工作但在OS X上什么都没有。我做了安装了mysql,其他网站在同一台服务器上运行得很好。对我来说有两个罪魁祸首,也许这对你也有帮助:

  1. 您的日志目录不可写。通常该目录是应用程序/日志,除非您有一些自定义配置设置。 (http://codeigniter.com/user_guide/general/errors.html)这不仅会影响所有这些log_message(...)函数调用,当Loader类尝试加载日志库时它也会失败。如果是这种情况,更改配置中的日志记录级别(通常建议)将不会产生任何有用的结果,因为CI 实际上无法写入任何错误。

  2. 您可能缺少在其工作的服务器上安装的其他一些php库。对我来说这是一个缺少memcached的php扩展,所以当尝试初始化Session类(虽然它的自定义扩展版本)时,Loader类也失败了。如果您不确定需要哪些扩展(例如,在基本CI安装之上加入大量额外的现有项目),则可能更难以调试。因此,下一步是尝试通过Loader类放置那些die(...)语句,以查看实际上无法加载的内容。