【问题标题】:CodeIgniter project loads blank webpageCodeIgniter 项目加载空白网页
【发布时间】:2011-09-20 14:29:18
【问题描述】:

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

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

我可以用这些信息做什么来帮助我在本地运行这个项目?

谢谢!

【问题讨论】:

  • 启用 PHP 错误报告和日志记录。您将收到一条错误消息,其中将提供更多信息。默认情况下,Codeigniter 禁用它,因此请检查您的配置并将错误日志记录提高到可能的最高级别(Codeigniter 会降低您的 PHP 配置,因为它拒绝严格错误有用)。
  • 你检查过每台机器上的PHP版本吗?

标签: php macos apache codeigniter ubuntu


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您是否在某些文件中的 PHP 标记结束后添加了空格或换行符?如果是这样 - 将它们与关闭 PHP 标记一起删除。

    (P.S. 在代码点火器中,您永远不应该关闭仅包含 PHP 代码的文件中的 PHP 标记 - 控制器、模型...)

    【讨论】:

      【解决方案3】:

      我最终遇到了类似的问题,只是在相反的情况下——在 Ubuntu 上工作,但在 OS X 上什么也没有。我确实安装了 mysql,其他站点在同一台服务器上运行良好。对我来说有两个罪魁祸首,也许这对你也有帮助:

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

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

      【讨论】:

        猜你喜欢
        • 2016-12-16
        • 2016-02-22
        • 1970-01-01
        • 2013-03-11
        • 2017-05-25
        • 2014-05-03
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多