2.x/Headers already sent Lycos

Uit phpBB.nl Wiki
Ga naar: navigatie, zoeken
!! Let op: vanaf 1 januari 2009 wordt phpBB2 niet meer ondersteund door phpBB.nl en phpBB.com.

Deze pagina's dienen uitsluitend als archief.

!!


Probleem

Ik heb een forum bij Lycos. Maar, als ik naar mijn forum ga, krijg ik:

Warning: Cannot modify header information - headers already sent by (output started at: ...) in ... on line ...

Oplossing

Open includes/page_header.php en zoek, op ongeveer regel 456:

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');
}
else
{
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');

$template->pparse('overall_header');

En vervang dit met:

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
@header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');
}
else
{
@header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
@header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
@header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');

$template->pparse('overall_header');

Uitleg

Headers worden verzonden naar de browser, als die gegevens over de pagina opvraagt. Maar, bij Lycos wordt er al tekst verzonden (reclame) en daarna pas worden de headers verzonden. Dit geeft een probleem, want dan kun je de headers niet meer verzenden. De @ zorgt ervoor, dat de foutmelding niet wordt getoond. Geen ideale oplossing, want er kunnen geen headers meer worden verzonden. Misschien moet je overwegen om naar een andere host over te stappen. Op het forum staat een topic Gratis en Goedkope webhosts; misschien kun je daar een andere host zoeken.