0

我遇到了一个非常奇怪的问题,希望有人知道这里出了什么问题。

我有多个本地 CI 项目在本地 ubuntu 机器上运行,正常的灯堆栈 - 它们都很好。

我最近对一个我以前愉快地从事过的项目进行了 svn 结帐,即使我收到了对请求的 http 200 响应,也看不到任何控制器/方法。

如果我从方法中 var_dump $this - 我得到控制器类的名称 - 而不是 CI 全局对象。

如果我输入一个不存在的路径 - 我会得到 CI 404 页面。

权限和 apache 虚拟主机设置都很好。BASEURL 设置正确。

.htaccess 和 index.php 正在工作,因为 index.php 已从 url 中删除,我仍然可以从正确路由的控制器/方法组合中转储字符串和自然 php 函数(如 class_exists() 等)。但是,一旦服务器到达需要 CI 的代码(例如 $this->load->helper() 等),处理就会停止。

我有一个小线索——我检查过的项目对我工作的多个开发人员来说都很好。我最近不得不将我的机器重建为原生 ubuntu 12.04,之前是一个 wubi 虚拟盒(死了)。

为了从控制器/方法请求中进行 var_dump,我必须将 __construct() 方法添加到相关控制器,以便路由到请求的方法,否则我只会得到 http 200 响应但没有 var_dump。

本机欢迎控制器(仍然存在于我们的开发结帐中)以完全相同的方式工作 - 为了 var_dump 我必须添加一个 __construct() 方法。

如果我将 parent::__construct() 添加到方法中(在任一控制器中), var_dump 将不再起作用。

我的新版本 php 是 5.3.10-1 和 Suhosin v0.9.33。结帐的CI版本是2.1.0

所以基本上 CI 没有启动,除了 404 的情况。有什么明显的东西,任何人都可以看到我忽略了?

谢谢。

4

1 回答 1

1

您是否偶然从 CI 1.7 迁移到 2.1?所以我会检查以确保您正在扩展 CI_Controller 或 CI_Model,因为这是一个相当大的更改,如果我没记错的话,页面将显示为空白且没有错误。

于 2013-07-18T17:02:48.383 回答