CI 묻고 답하기

제목 PHP session 사용방법?
글쓴이 정민스 작성시각 2010/03/30 15:14:45
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 22262   RSS
쿠키는 별로 사용하고 싶지가 않은데..

PHP session 을 사용할 방법은 없을까요?

session_start();
하고 세션 입력하는것 까지는 이상이 없는데..

echo $HTTP_SESSION_VARS[suid];

위와 같이 사용하려고 하면 $HTTP_SESSION_VARS 부분이 에러가 납니다..

어떻게 해야 되는 걸까요`?
 다음글 액티브 레코드에서 서브쿼리 사용법 궁금해요 (2)
 이전글 함수 사용법 (1)

댓글

변종원(웅파) / 2010/03/30 15:35:03 / 추천 0
상단 검색에서 session으로 검색해보세요. native session, phpsession 등 참고하실 자료가 나옵니다
정민스 / 2010/03/30 17:57:39 / 추천 0

phpsession 과 native session 둘다 사용해 보았는데,
loadlibrary 만 해도 에러가 납니다..

심지어는 autoload.php 에 넣어도 에러가 납니다.

Severity: Warning

Message: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /usr/local/apache/htdocs/system/application/libraries/phpsession.php:83)

Filename: libraries/phpsession.php

autoload 페이지에 넣었다는건 맨 위에 뭐가 들어갈 여지가 없다는건데..

더욱 이상한 것은 autoload.php 의 맨 위에 $autoload['libraries'] = array('phpsession');
를 넣으면 에러가 안나서, 되는건줄 알았더니,
아예 인식조차 못한 상태더군요...
$autoload['libraries'] = array('database'); 이게 가장 위에 있는 구문인데,
이것 위에 넣으면 인식이 안됩니다..

어떻게 해야 저 warning 이 나지 않을까요..

kirrie / 2010/03/30 22:12:10 / 추천 0
에러가 친절하게 어디서 output이 나오는지 알려주고 있는데요. phpsession.php의 83번줄을 한번 살펴보세요.
kirrie / 2010/03/30 22:13:13 / 추천 0
참, 그냥 php native session을 사용해도 쿠키는 씁니다. 원래 세션의 구현이란게 쿠키 + 서버 데이터가 한쌍으로 존재하는거거든요.
정민스 / 2010/03/31 09:03:27 / 추천 0

음.. phpsession.php 는 83라인이 끝이구요 -_-;;
웅파님이 말씀하신 공개 라이브러리를 받아서 사용하는건데..

 

<?php
	class Test extends Controller
	{
		function index()
		{
			$this->load->library('phpsession');
		}
	}
?>
그냥 위와 같이 선언하고 load 만 해도 에러가 납니다.
실제, phpsession 에서 에러나는 부분은

session_start();
$this->flashinit();

이라고 생각됩니다.. phpsession 이나 nativesession 사용하시는 분들중
저와 같은 에러가 발생하시는 분들 안계신가요~?
정민스 / 2010/03/31 09:30:11 / 추천 0
좀 찾아보니까.. 1.7.2 부터 발생하는 문제 같네요.

임시 해결방편으로.. Controller.php 에 _ci_initialize

부분에 session_start(); 를 넣고,

native_session 에 session_start() 를 지워서..

그냥 init 시에 session 이 시작되게 하니까.. 에러가 안나네요..

이렇게 해도 되는건지는 모르겠지만, 혹시 저와 비슷한 상황이시면 참고하세요~