session_set_save_handler
session_unregister
세션 함수 목록
PHP Manual

# session_start

(PHP 4, PHP 5)

session_start — 세션 데이터 초기화

### 설명

bool session_start ( void )

session_start()는 세션을 생성하거나 GET, POST, 쿠키 등의 요청으로 전달될 수 있는 현재 세션 id에 기반하여 현재 세션을 재시작합니다.

이름 붙인 세션을 사용하려면, session_start()를 호출하기 전에 session_name()을 호출해야 합니다.

session_start()는 trans-sid가 켜져 있을 때 URL을 다시쓰기 위한 내부 출력 핸들러를 등록합니다. 사용자가 ob_gzhandler나 ob_start()로 유사한 작동을 하면, 적합한 출력을 얻기 위해 출력 핸들러의 순서가 중요합니다. 예를 들어, 사용자는 세션을 시작하기 전에 ob_gzhandler를 등록해야 합니다.

### 반환값

이 함수는 세션이 성공적으로 시작되면 `TRUE`, 아니면 `FALSE`를 반환합니다.

### 변경점

버전 | 설명
--- | ---
5.3.0 | 세션 시작에 실패하면 `FALSE`를 반환합니다. 이전에는 항상 `TRUE`를 반환했습니다.
4.3.3 | 이 때부터, 세션이 이미 시작되어 있을 때 session_start()를 호출하면 `E_NOTICE` 등급 오류가 발생합니다. 또한, 두번째 세션 시작은 무시됩니다.

### 예제

Example #1 세션 예제: page1.php

`<?php
// page1.php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>`

page1.php를 본 후에, 두번째 페이지 page2.php가 세션 데이터를 가집니다. 세션 레퍼런스에서 세션 id 전달을 읽어보십시오. `SID` 상수가 무엇인지 등에 관하여 설명되어 있습니다.

Example #2 세션 예제: page2.php

`<?php
// page2.php
session_start();
echo 'Welcome to page #2<br />';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>`

### 주의

> Note: 쿠키 기반 세션을 사용하면, 브라우저에 출력하기 전에 session_start()를 호출해야 합니다.

> Note: ob_gzhandler()보다 zlib.output_compression을 권장합니다.

### 참고

- $_SESSION
- session.auto_start 설정 지시어
- session_id() - 현재 세션 id를 얻거나 설정

session_set_save_handler
session_unregister
세션 함수 목록
PHP Manual