2012-06-25 3 views
0

У меня есть PHP скрипт, первое, что в коде session_start();, но я продолжаю получать эту ошибкуНе удается отправить куки сессии - заголовки уже посланные

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

@meme ошибка в строке 1 не в середине скрипта. У меня есть знания о начале сеанса в начале скрипта. – Othman

+0

@ Othman ответ там есть объяснения для всех случаев, даже если это происходит на первой строке. – meze

ответ

0

Много раз одинокий символ пробела в верхней части файла может вызвать эту ошибку, потому что символ пробела получает выход. Убедитесь, что нет ничего выше этого <?php session_start(); ?>, даже символ пробела. Если на хосте, на котором вы находитесь, есть файл auto_prepend_file, который также может его отключить.

+0

, как вы можете видеть, нет никаких пробелов, и ошибка в строке 1 – Othman

+0

Затем добавьте эту строку в самый верх файла и посмотрите, исправляет ли она ее: '' –

+0

same e rror, но в строке 2 теперь – Othman

2

Открыть файл в вашем любимом текстовом редакторе и преобразовать файл в UTF8 без спецификации. Раздражающая ошибка, один раз сделал то же самое.

Смежные вопросы