2010-12-15 13 views
2

スクリプトの出力に非常に奇妙な問題があります。私は時々出力の最後に出力が開始される前に4桁の16進コードを取得し、そしてゼロだ - 例えば:CodeIgniter - 奇妙な出力の問題

2fc3 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html > 
...... 
</html> 
0 

進数は、要求されたURIおよび/または内容に応じて変化します。私はキャッシュを使用せず、出力圧縮はオフです。私はこの問題をいくつかのプロジェクトで見てきました。それぞれ異なるプロジェクトで、それぞれ異なるサーバーでホストされています。

問題の例は、ここで見ることができます:http://www.holidayproperties.co.uk/notfound.html

あなたが異なる値に進コードの変更を参照するには任意のランダムなテキストで「NOTFOUND」を置き換えることができます。

私はこのテンプレートライブラリ - http://codeigniter.com/forums/viewthread/95687を使用していますが、ライブラリをバイパスして直接出力しても、エコーを使用しても同じ問題が発生します。

私はこの問題を解決できることを願っています。そのため、すべての支援が大変ありがとうございます。

私は次のように削除することを発見した[編集]

$this->output->set_header('HTTP/1.1 404 Not Found'); 

は、問題を修正が、なぜこれが最初の場所で起こってすべきですか?ヘッダーは出力前に設定されていますが、実際に出力が開始された後、ヘッダーの設定に関するphp/ciの警告は表示されません。

ありがとう、

ブリン。

答えて

0

特定のコントローラ内のすべてのビューには発生しますか?たぶんコンストラクタにエコーがあります。

+0

いいえ - リンクされたサイトの1つのコントローラですべてのリクエストに対してカスタムルーティングがありますが、問題が存在するのは404ページのみです。 – BrynJ

1

暗いところで撮影されますが、phpファイルの前後に空白または末尾に空白がありますか?これは私に過去の問題をもたらしました。 How to get IE8 to not show my PHP page as blank

下にスクロールして、私はそれを解決する方法を確認するページ:

別のロングショットは、私はしばらく前に投稿この質問です。私のサーバのデフォルトのエンコーディングはUTF-8ではないので、生成されたhtmlにガベージテキストを吐き出す必要がありました。おそらく助けに行くつもりはないが、私はそこに投げ捨てると思った。

+0

私は後ろに空白がないことを確信しています(私はチェックして、閉じたphpタグを省略することをお勧めします)。私はhtaccessファイルにUTF-8エンコーディングを追加しましたが、やはり成功しません。私はしかし、新しい発見で私の質問を更新しました。 – BrynJ