茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672862 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_0030.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

PHP特區 : [轉貼]PHP,Cannot send session cache limiter 的解決方法

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]PHP,Cannot send session cache limiter 的解決方法

PHP,Cannot send session cache limiter 的解決方法

Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent (output started at .... )


發生原因

session_start() 之前不能有任何字元輸出,UTF-8 編碼裡的 BOM 也會被認為是 headers,有上述狀況 Session 將無法順利傳遞,並會顯示錯誤訊息。



解決方法1

1. 確定
2. 若是 UTF-8 編碼,請用編輯器(例 UltraEdit、Notepad++...)將檔案裡的 BOM 移除。



解決方法2

以 ob_start() 開啟緩衝區將輸出資訊寫入緩衝區,可避免 headers 先於 session_start() 輸出,寫入緩衝區的內容可由 flush() 或 ob_end_flush() 輸出至瀏覽器,以下範例不會顯示錯誤訊息:
<?php
ob_start();
echo "test";
session_start();
ob_end_flush();
?>




原文出處:Raie's Blog :: PHP,Cannot send session cache limiter 的解決方法
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]解決php中Cannot send session cache limiter 的問題的方法
解決php中Cannot send session cache limiter 的問題的方法
今天在使用php 的session 的時候,出現了以前就遇見但是又解決不了的問題,在頁面上出現如下提示:
Warning: session_start() [function.session-start]: 
Cannot send session cache limiter - headers already sent
(output started at E:\php\code\admin.php:1) in E:\php\code\logolist\adminlogo.php on line 2

上網搜了一下,有人說是因為在session_start(); 語句之前有其他的html代碼,但是我的session_start(); 已經在做前面了。
還有的說是因為沒有設置session 保存路徑,需要修改php.ini中的session.save_path = "C:/phpsession" [後邊的路逕自己設置,並且要保證存在。php.ini 文件一般應位於系統盤/Windows 目錄下面]
但是我做如上設置之後還是會有這個提示。後來經過反覆測試,終於解決問題。
解決辦法:
修改php.ini中的session.auto_start = 0 為 session.auto_start = 1
详细出处参考:http://www.jb51.net/article/9724.htm
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼] php 出現 Cannot send session cache limiter 的解決方式

php 出現 Cannot send session cache limiter 的解決方式

原本用 Big5 編碼設計的 PHP程式, 在配合 客戶端的環境改成 utf-8 格式編碼之後, 狀況百出, 問題不斷發生, 原先可以執行的程式, 都相繼出現錯誤訊息.

這次是在判斷使用者登入狀態, 啟動了 session 預備來記錄使用者的登入相關訊息, 結果, 在 utf-8編碼的文件 (配合 utf-8 的網頁編碼, 文件本身也要改成 utf-8 編碼格式) 下執行, 都會出現 Cannot send session cache limiter 的錯誤訊息...

原來還是跟在 php 裡面 include 檔案所發生的問題一樣, 若以 utf-8 格式編碼的文件, 是以 windows 儲存成 utf-8 的檔案格式, 本身即帶有 BOM (Byte-Order Mark), 所以即使該份 php 文件本身在 session_start() 之前沒有輸出任何字元, 但其實是隱含了 BOM, 導致網頁發生錯誤....

DreamWeaver CS3 版本可以在另存檔案的時候,檢視該文件是否包含有 BOM, 但實際變更設定後儲存( 個人測試結果, 或許有其他解), 卻不能真正取消 BOM 的儲存.

還是使用 如 UltraEdit 的軟體來另存新檔吧! 應該就可以解決上述問題.


原文出處:ch3128:php 出現 Cannot send session cache limiter 的解決方式 - 樂多日誌
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|