我们正在开发一个基于 Codeigniter 2 的项目。在我们将 Apache httpd 从 2.2.21 更新到 2.2.24 之前,一切都运行良好。PHP 版本还是一样的(5.3.25)。
对于构建视图,我们使用来自 Phil Sturgeon 的模板库。
控制器函数可能如下所示:
public function index(){
if($this->_is_logged && $this->_is_super){
redirect('/start', 'refresh');
}else{
$this->template
->set_partial('page_header', 'web/template/page_header',$this->data)
->set_partial('page_footer', 'web/template/page_footer')
->set_partial('page_notifications', 'web/template/notification_view',$this->data)
->set_layout('minimum')
->build('start/authenticate_view');
}
}
更新后,这会导致500 Internal server error ... 但是,在这样的语句echo
之前添加时:if
public function index(){
echo $this->_is_logged.' '.$this->_is_super.' -- test --'.$this->data;
if($this->_is_logged && $this->_is_super){
redirect('/start', 'refresh');
}else{
$this->template
->set_partial('page_header', 'web/template/page_header',$this->data)
->set_partial('page_footer', 'web/template/page_footer')
->set_partial('page_notifications', 'web/template/notification_view',$this->data)
->set_layout('minimum')
->build('start/authenticate_view');
}
}
echo
页面将使用页面顶部的值按应有的方式构建。
我们已经将 Apache httpd 降级到 2.2.21,并且一切都再次正常工作,无需更改任何代码。所以我们确信它与 Apache 版本有关。也许它与模板库中使用的代码有关,或者其他一些奇怪的东西......?
我们正靠在这个墙上。
有没有人有同样的问题,知道问题可能是什么,......你将永远是我们的英雄:)
附加信息:
- 我们将 DataMapper ORM 用于 CI 模型
- cPanel 版本:11.36.1(内部版本 6)
- 操作系统 Linux