Hoje tentei modifcar a configuração de um site criado no mediaWiki, e após o acréscimo de uma nova opção, ele passou a exibir a seguinte mensagem de erro:
Warning: Cannot modify header information – headers already sent by (output started at /LocalSettings.php:1) in /includes/WebResponse.php on line 16
Quem trabalha com PHP sabe que esse é um problema clássico de envio de dados antes de efetuar um redirecionamento. O problema é que o script não tinha dados algum sendo enviado antes do início do script, muito menos no final.
O script iniciava assim:
[code lang=”php”]
<?php
# This file was automatically generated by the MediaWiki installer.
# If you make manual changes, please keep track in case you need to
# recreatachee them later.
[/code]
Então o que poderia estar causando este problema? A codificação do arquivo, claro! Sempre ela…
O problema é que em alguns editores (principalmente na versão Windows) quando salvam os arquivos no formato UTF-8 adicionam uma marcação ao inicio do arquivo chamada Unicode Signature (BOM), por esse motivo o interpretador do PHP acredita que existem dados antes do inicio do script que está sendo enviado ao servidor.
No Dreamweaver CS5, esta configuração pode ser modificada no menu “Preferências” e então na categoria “NewDocument”. Desmarque a opção “Include Unicode Signature (BOM)”. Pronto! todos os novos arquivos serão criados sem esta marcação; e para os arquivos já existentes, basta selecionar a opção “Salvar Como” e escolher a opção de não utilizar o “BOM”, que estará presente nessa caixa de diálogo também.
Parabéns Paulo pelo post, ajudou bastante!!!