YateAdmin Headers Sent Fix

From Yate Documentation
Revision as of 10:37, 4 November 2013 by Monica (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Note: If you want an interface for Yate for a basic setup you can probably use FreeSentral. It offers all the features from YateAdmin and a lot of new ones.

I installed Yate, PostgreSQL and YateAdmin. I use lighttpd as a webserver, and PHP5.

Initially I came across some error messages of the sort:

"Cannot modify header information - headers already sent by"

The problem, it seems, is that some data is already being passed out by the webserver, which makes header modification impossible. Maybe Apache, which most people probably use, handles things differently.

Essentially, to fix the problem, modify two files and insert ob_start(); and ob_end_flush(); as shown below.

 index.php
 *******
 <?
 ob_start();
 /*
 * This file is part of the YateAdmin Project http://yateadmin.null.ro
 (...)
  else
       if ($username || $password)
               $login = "<h3>Wrong login<h3>";
       else
               session_unset();
 
 ob_end_flush();
 ?>
  
 main.php
 *******
 <?
 ob_start();
 /*
 * This file is part of the YateAdmin Project http://yateadmin.null.ro
 (...)
 if (isset($_GET['skin']))
   $_SESSION['skin']=$_GET['skin']; 

 ob_end_flush();
 ?>

Cheers, Max

Update

This type of problem can also be fixed by enabling output_buffering from php.ini or .htaccess file. Still, this is a workaround and the code should be fixed instead of changing php settings.


See also:

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers