我正在构建一个 CodeIgniter 站点,并尝试在控制器中使用php ABTest。
我将phpabtest.php 文件保存为“helpers”文件夹中的 phpabtest_helper.php,并将其加载到控制器中。它在 PHP 逻辑中初始化如下:
public function view($name)
{
$this->load->helper('phpab');
$testpopup = new phpab('test_popup');
$testpopup->add_variation("popup");
$type = $this->Types->getTypeBySlug($name);
$data['type'] = $type;
$data['items'] = $this->Items->getItemsByType($type->id);
$alltypes = $this->Types->getAll();
$headerdata['alltypes'] = $alltypes;
$headerdata['current'] = $type->id;
$this->load->view('header');
$this->load->view('typeheader', $headerdata);
if($testpopup->get_user_segment()=='popup'){
$this->load->view('type_new', $data);
} else{
$this->load->view('type', $data);
}
$this->load->view('footer');
}
它在我的本地主机上运行良好,但是当我将它上传到服务器时,它会中断,只显示一个空白页面。我已将问题与new phpab
对象的初始化隔离开来。在助手中,它确实如此ob_start(array($this, 'execute'));
,这一行似乎是破坏代码的原因。
我应该查看哪些服务器设置才能使其正常工作?我假设这是服务器设置问题,因为它在我的本地主机上运行良好。如果我错了,这是其他问题,我该如何解决?