2012-06-25 49 views
0

我有一個PHP腳本代碼的第一件事就是session_start();發送了頭,但我不斷收到此錯誤無法發送會話cookie - 已經由

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

但腳本在localhost的偉大工程。

<?php session_start();?> 
<?php 
require 'global.php'; 
?> 


<?php 

//check if the user logged in 
if(!isset($_SESSION['user_id'])) 
page_redirect('login.php'); // go to login.php. 
?> 
+2

如果您使用的是UTF-8,請檢查文件中的字節順序標記(BOM)並將其刪除。 – Gumbo

+0

@在線1上的錯誤不在腳本中間。我有關於在腳本開始時啓動會話的知識。 – Othman

+0

@Othman對於所有情況,答案都有解釋,即使它發生在第一行。 – meze

回答

0

很多時候,文件頂部的單個空白字符可能會導致此錯誤,因爲空白字符會被輸出。確保沒有任何東西超過<?php session_start(); ?>,甚至沒有空白字符。如果你所在的主機有一個auto_prepend_file,那也可能導致它失敗。

+0

,你可以看到沒有任何空格,和第1行上的錯誤 – Othman

+0

然後在文件的最頂部添加這一行,並查看它是否修復它:'<?php ob_clean();?>' –

+0

same e rror,但現在在第2行 – Othman

2

在您最喜歡的文本編輯器中打開文件,並將文件轉換爲不含BOM的UTF8。 惱人的錯誤,曾經做過同樣的事情。

相關問題