2017-12-23 22 views
1

일부 기능은 초기에 session_start() (주로 CMS 플랫폼의 플러그인)을 사용하는 경우가 있습니다.

질문이 있습니다. 세션 시작이 전체 애플리케이션/CMS에서 부정적으로 영향을 줄 수 있습니까? 내가 기억 때문에

나는이 질문이 호출 유사한 기능 (같은 ob_start(), ob_end() 또는 등) 한 문제에, 나는 그들이 전역 범위에 부정적인 영향을 미칠 경우 같은 너무 session 기능에 적용되는지 알고 싶었다. (나는 부정적인 영향에만 관심이있는 Mostyle입니다).

+0

@ MagnusEriksson 감사합니다! 추신. 만약 당신이 대답으로 게시했다면, 나는 당신을 평가할 수있었습니다. p.s.2. 세션이 이미 시작 되었다면'session_start()'를 실행하면 문제가 발생합니까? p.3. 나는 네가 의미하는 것을 안다, 그것은 무의미 할 것이다. 그러나 당신은 부정적인면에 대해 언급하지 않았다. –

+0

답변으로 게시하고 다른 두 가지 질문에 답변했습니다. –

+0

@ MagnusEriksson 감사합니다! 이제는 주석이므로 주석을 제거 할 수 있습니다. –

답변

1

session_start()이 없으면 시스템이 자동 시작 세션으로 설정되어 있지 않으면 요청이 완료 될 때 세션 변경 사항이 모두 손실됩니다. 시작하지 않고 세션을 사용하는 것만으로도 무의미합니다.

중요한 부분은 세션이 이미 시작되었는지 아닌지 확인하고 session_start()을 호출하는 것입니다. 이미 시작된 경우 "세션이 이미 시작되었습니다"라는 경고가 표시됩니다. 일부 라이브러리/연장하지 않는 한 매우 정통 방식으로 세션을 사용하고,

if (session_status() === PHP_SESSION_NONE) { 
    // Session isn't started, let's start it. 
    session_start(); 
} 

정말 시작 세션에서 어떤 부정적인 영향이 없습니다 (하지만 수 :이 일을
한 가지 방법은 다음과 같이 session_status()을 사용하고 있습니다 정말로, 무엇이라도).