Thinkphp6.x는 쿠키와 세션 솔루션을 사용할 수 없습니다

        오늘은 제가 tp6 공부하면서 욕먹게 만들었던 함정에 대해 설명드리겠습니다.

        매우 모호한 함정에 직면했습니다. 즉, 세션은 컨트롤러 간에 사용할 수 없으며 공식 문서에는 아무런 설명도 제공되지 않습니다.

먼저 공식적인 사용방법을 살펴보겠습니다.



使用session需要引入session类可以直接使用think\facade\session,

이에 대해서는 더 이상 말하지 않겠습니다. 주의해야 할 점은 함정이 다가오고 있다는 것입니다! ! ! 함정이 온다! ! ! 함정이 온다! ! !

session이 기능은 기본적으로 활성화되어 있지 않습니다.(API 애플리케이션에서는 일반적으로 이 기능을 사용할 필요가 없습니다 session.) 이 기능을 사용해야 하는 경우 Seesion전역 미들웨어 정의 파일에 다음 미들웨어 정의를 추가해야 합니다.
 

'think\middleware\sessionInit'

다중 애플리케이션 모드이고 일부 애플리케이션에만 사용하는 경우 애플리케이션 미들웨어 정의 파일에서 별도로 활성화할 수도 있습니다.

전역 미들웨어 파일은 앱 디렉터리에 있는 middleware.php입니다.

세션 초기화 가 있는데 기본적으로 주석처리 되어있습니다. 주석처리만 해제하시면 세션을 사용하실 수 있습니다 . 일반적으로 켜져있습니다.

composer require topthink/think-multi-app

이제 모든 것이 준비되었으니 디버깅할 때 다음 내용을 사용하시겠습니까? ? 특히 로그인에 쿠키 저장이 필요한 경우

echo json_encode();exit;
echo json_encode($arr);die();

다음은 제가 주목하고 싶은 것, 표고버섯을 먹으면 불편해지는 점입니다!

        tp6이 세션 이나 쿠키를 초기화한 후 세션 이나 쿠키 이후에 die나 종료를 사용 하면 세션 이나 쿠키가 사라집니다! ! ! 사라질 것이다! ! ! 사라질 것이다! ! !

해결책

1. 대신 캐시를 사용하세요

2. 대신 기본 $_ 세션 과 $_COOKIE를 사용할 수 있습니다.

        위의 글은 thinkphp6 .에서


 

Guess you like

Origin blog.csdn.net/ITMyFavorite/article/details/130285526