ob_start()在本地工作正常,但在托管时出错

时间:2013-05-07 09:39:30

标签: php gzip ob-start

我正在将PHP地址簿用于具有一些附加功能的Web应用程序。当我使用Xampp在本地计算机上测试它时,一切正常,但是当我在一个在线网络服务器中托管它时,它会抛出以下错误消息:

  

[ref.outcontrol]:输出处理程序   'ob_gzhandler'不能在第27行的... / dbconnect.php中使用两次

...并且页面没有显示任何内容只是一个空页面。

if(   ini_get('zlib.output_compression') != 1
   && isset($compression_level) 
   && $compression_level > 0) {
  ini_set('zlib.output_compression_level', $compression_level);
  ob_start('ob_gzhandler');
}

请帮我解决这个问题。我的gzip压缩器已关闭。

2 个答案:

答案 0 :(得分:1)

要克服这个问题,只需在添加之前进行if检查

    if (!in_array('ob_gzhandler', ob_list_handlers())) {
        ob_start('ob_gzhandler');
    } else {
        ob_start();
    }

答案 1 :(得分:1)

它说:

  

输出处理程序'ob_gzhandler'不能两次使用   ... / dbconnect.php

无法在您的代码中多次调用ob_start('ob_gzhandler')