2009-05-16 6 views
3

最近、int UTF-8を保存するためにエディタを変更しました。これは後にポップアウトを開始し、その意味を知らない。

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/sudancar/public_html/index.php:1) in /home/sudancar/public_html/index.php on line 1 

答えて

12

あなたのエディタは、ファイルがUTF-8であることを示すBOM(Byte-Order-Marker)を書いた可能性が非常に高いです。

<?phpタグの前にマーカーが表示されるため、PHPは必要なヘッダーを含めて自動的にブラウザに送ります。

PHPが実験的な(--enable-zend-multibyte)オプションでコンパイルできない限り、それは助けられません。あなたはエディターにそのマーカを書かないように伝える必要があります。

参考:http://bugs.php.net/bug.php?id=22108

+0

+1私はそれを知らなかった、本当に非常に便利です。 – karim79

1

すべての出力がブラウザに送信される前にsession_start()に電話する必要があります。

+0

<?php session_start();これは今私がそれを持っている方法です。 <?php – Babiker

+0

Jonさんの答えは上です。 – karim79