I am using the new version of Tp 3.2.3. I have multiple methods in the same controller. I wrote a session in method 1. Why can't I read it in method 2? Please explain...
The code is very simple. I just wrote a controller and inherited Controller. Then there are 2 methods written in it, the first method writes a session. The second method reads the session. The syntax is session("kkk",999); The other is to directly echo session("kkk"); The result is that the session cannot be read out.
I am using the new version of Tp 3.2.3. I have multiple methods in the same controller. I wrote a session in method 1. Why can't I read it in method 2? Please explain...
The code is very simple. I just wrote a controller and inherited Controller. Then there are 2 methods written in it, the first method writes a session. The second method reads the session. The syntax is session("kkk",999); The other is to directly echo session("kkk"); The result is that the session cannot be read out.
ThinkPHP
When the application is initialized, in the ThinkPHP\Library\Think\App.class.php
class, if the current running environment is not cli
, it will automatically register session_start
from the configuration file,
The SESSION_AUTO_START
set in the default configuration file ThinkPHP\Conf\convention.php
is TRUE
, that is, the session will be automatically enabled by default. Please check whether your configuration file covers this configuration item, thinkphp
When loading the configuration file, user-defined ones will overwrite the default ones,
The default user-defined configuration file Application\Common\Conf\config.php
, check whether SESSION_AUTO_START
is set to false or 0
If you don’t want to modify the configuration file, you only need to call session_start before starting the method
<code class="php"> <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $this->show('.........'); } public function test() { //若配置文件SESSION_AUTO_START为false, 则调用session方法时都学要手动开启session session_start(); session('xxxxx', 'wodelaojia'); } public function test2() { session_start(); echo session('xxxxx'); } }</code>
Configure SESSION_AUTO_START
to TRUE
or when using session
session_start