我遇到了一个非常奇怪的问题,希望有人知道这里出了什么问题。
我有多个本地 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 的情况。有什么明显的东西,任何人都可以看到我忽略了?
谢谢。