UTF-8で構築したサイトのsessionエラー
pearとAuthを使ったサイトを構築中です。
ページ遷移時に、ログイン情報を保持することを考えました。
対策としては、「Authに保存されたログイン情報を読みに行くソースを"login_check.php"の外部ファイルに保存」しました。
そして、ログインページ以外のページでは"login_check.php"をrequire_onceで読みに行く形としました。
各ページ(ログインページ以外)のPHPの記載開始部分は下記の通りです。
<?php
require_once "Auth.php";
require_once "login_check.php";
**************************************
login_check.php は下記となります。
**************************************
<?php
session_start();
$myAuth=new Auth("DB", $params, "loginFunction");
$myAuth->start();
if ($myAuth->getAuth()){
header("id=$id".SID);
}else{
print("認証されていません");
}
?>
**********************************
【トラブル】
このやり方で、S_JISで構築したページは問題なく表示されるのですが、UTF-8Nで構築したページでは下記のエラーが出ます。
不要なスペースが無いかは全て見直しました。UTF-8Nあり、BOMはありません。また改行コードもLFです。
殆どの方の同様のトラブルはBOM無しで解決しているようですが、私のはBOM無しでも発生します。ob_start(); を<?phpの直下につけても駄目でした。
S_JISでは問題なく動くだけになんとかしたいです。
アドバイス頂けましたら幸いです。
宜しくお願い致します。
エラー内容
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/xxx.com/public_html/index33.php:6) in /home/centro-lars.com/public_html/login_check.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx.com/public_html/index33.php:6) in /home/centro-lars.com/public_html/login_check.php on line 7