YateAdmin Headers Sent Fix
From Yate Documentation
(Difference between revisions)
(Created page with " 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 informa...") |
(→Update) |
||
(9 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | '''Note:''' If you want an interface for Yate for a basic setup you can probably use [http://freesentral.com 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. | I installed Yate, PostgreSQL and YateAdmin. I use lighttpd as a webserver, and PHP5. | ||
Line 6: | Line 8: | ||
"Cannot modify header information - headers already sent by" | "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. | + | 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. | 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 = <nowiki>"<h3>Wrong login<h3>"</nowiki>; | |
− | + | 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:''' | ||
+ | * http://freesentral.com | ||
+ | |||
+ | [[Category:Debug]] |
Latest revision as of 10:37, 4 November 2013
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
[edit] 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: