2.x/Headers already sent Lycos: verschil tussen versies

Uit phpBB.nl Wiki
Ga naar: navigatie, zoeken
(Dode link veranderd in goede)
Regel 38: Regel 38:
  
 
== Uitleg ==
 
== 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 '''[http://www.phpbb.nl/viewtopic.php?t=29004 Mijn hostingervaring]'''; misschien kun je daar een andere host zoeken.
+
'''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 '''[http://www.phpbb.nl/forums/viewtopic.php?f=39&t=36047 Gratis en Goedkope webhosts]'''; misschien kun je daar een andere host zoeken.
  
 
[[Categorie:phpBB2]]
 
[[Categorie:phpBB2]]
 
[[Categorie:Technisch]]
 
[[Categorie:Technisch]]
 
[[Categorie:Veel voorkomende problemen]]
 
[[Categorie:Veel voorkomende problemen]]

Versie van 29 mei 2008 om 15:26

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.