나는 온라인 방문자와 회원의 수를 얻기 위해 다음과 같은 코드를 가지고 :헤더가 이미 전송되었습니다 ... 왜 내 코드가 작동하지 않습니까?
session_save_path($_SERVER['DOCUMENT_ROOT'] . '/sessions/' . (isset($_COOKIE['uid']) ? "members/" : "guests/"));
if(isset($_COOKIE['uid'])){
session_id($_COOKIE['uid']);
}
session_start();
define("MAX_IDLE_TIME", 15);
$online_guests = 0;
$directory = opendir($_SERVER['DOCUMENT_ROOT'] . '/sessions/guests/');
while(false !== ($file = readdir($directory))){
$online_guests++;
}
$online_guests -= 2;
$online_members = array();
$directory = opendir($_SERVER['DOCUMENT_ROOT'] . '/sessions/members/');
while(false !== ($file = readdir($directory))){
if($file != '.' && $file != '..'){
$online_members[] = intval(substr($file,5));
}
}
내 WAMP 서버에서 코드를 테스트를하고 일했다,하지만 난 내 호스트에 코드를 업로드 할 때 나에게 다음을 제공합니다 오류 :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/csabi/public_html/index.php:9) in /home/csabi/public_html/track-online-users.php on line 6
네, 맞습니다! 감사! index.php 파일에서 track-online-users는 페이지 제목 뒤에 만 포함되었습니다. – Csabi
하지만 하나의 질문이 있습니다. 왜 동일한 스크립트가 내 컴퓨터에서 wamp 서버로 작동 했습니까? – Csabi
@user : 사용자의 서버가 항상 출력 버퍼링을 사용하도록 구성되었을 수 있습니다. 구성을 확인하십시오. –