2010-01-23 100 views
0

我有一個奇怪的問題正在我的開發服務器上進行。就在幾個小時前,PHP會議完全停止了工作。每個單個文件(數百個)開始顯示如下所示的錯誤,關於會話cookie沒有被寫入。我無法弄清楚問題是什麼,什麼原因導致這種情況剛剛開始發生,在所有工作之前,我甚至沒有做任何改變。更糟糕的是,我無法實現它的工作。我嘗試了不同的瀏覽器,重新啓動我的服務器,甚至重新啓動我的電腦。沒有任何幫助,有什麼想法我可以做什麼?這真是瘋狂的PHP會話Cookie停止在我的服務器上工作

請注意我打電話之前在session_start沒有任何空格或任何打印屏幕()或者

警告:在session_start() [function.session啓動]:不能發送 會話cookie - 標題已經發出 (輸出開始 C:\網絡服務器\ htdocs中\ friendproject2 \實驗室\ 2.PHP:1) 在 C:\網絡服務器\ htdocs中\ friendproject2 \實驗室\ 2.PHP 上第3行

警告:在session_start() [function.session啓動]:不能發送 會話緩存限制器 - 頭 已經發出(輸出開始 C:\網絡服務器\ htdocs中\ friendproject2 \實驗室\ 2.PHP:1) 在 C:\第3行測試

正如我提到的,這發生在我的網站的每個文件現在,即使是簡單的文件的網絡服務器\ htdocs中\ friendproject2 \實驗室\ 2.PHP 。我張貼的錯誤是如此簡單文件...

<?PHP 
session_start(); 

$_SESSION['test'] = 'test'; 
echo 
$_SESSION['test']; 
?> 
+0

echo ini_get('safe_mode');'?'的輸出是什麼? – sberry 2010-01-23 05:31:25

+0

您是否還記得在停止工作之前所做的工作? – 2010-01-23 05:32:21

+0

@ sberry2a echo ini_get('safe_mode');不打印任何東西到屏幕 – JasonDavis 2010-01-23 05:32:51

回答

1

有東西在C:\webserver\htdocs\friendproject2\labs\2.php 1線越來越outputed。

另外,test是從哪裏來的?


好像問題是文件編碼,你應該總是使用UTF-8沒有BOM作爲首選編碼爲您.php文件,代碼編輯器,如Intype讓你輕鬆指定此(UTF -8平原)。

alt text http://i48.tinypic.com/ok4a4k.png


你也應該由Joel Spolsky的閱讀The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

+0

我剛剛使用該頁面的實際代碼更新了我的帖子。測試來自會話變量,會話在頁面上工作,如果我在頁面上設置它們,只是它不會發送cookie併發出警告消息 – JasonDavis 2010-01-23 05:27:32

+0

UTF- *沒有BOM是部分解決方案,但PHP期望它的輸入ASCII – symcbean 2010-01-23 10:58:24

0

如果start_session()位於包含文件中,請檢查以確保包含該文件,然後將任何內容輸出到頁面。這就是爲什麼它說標題已經發送。如果start_session()不是第一件事,我以前有過這個問題。

0

沒有更改代碼和多個頁面的影響,我的第一個端口將檢查webserver配置(或php.ini或.htaccess)是否有一個自動預先添加。

這會導致sberry2A的示例代碼失敗。如果sberry2A的代碼有效,那麼檢查一個常見的包含文件中的一些狡猾的字符。

C.

相關問題