头部没有写session_start(),为什么也可以使用session?
php吧
全部回复
仅看楼主
level 6
oOo不知oOo 楼主
我在test1.php里只写了$_SESSION['test']=1;没有写其他的,在test2.php里写了 echo $_SESSION['test'],执行test1.php的时候不错报错,而执行test2.php的时候则会报错“Undefined variable: _SESSION”,但在test2.php头部加上session_start()就不会报错了。
为什么test1.php也没有session_start(),在设置session的时候却不会报错? session.auto_start()没有开启。
2016年09月01日 05点09分 1
level 6
oOo不知oOo 楼主
[乖][乖][乖]
2016年09月01日 05点09分 2
level 6
oOo不知oOo 楼主
[乖][乖][乖]
2016年09月01日 05点09分 3
level 6
oOo不知oOo 楼主
[乖][乖][乖]
2016年09月01日 05点09分 4
level 11
自动开启[勉强]
2016年09月01日 05点09分 5
自动开启没有开启,session.auto_start()设置为0的
2016年09月01日 05点09分
回复
在无知中逝去
:没看全。。会不会是当成了普通数组
2016年09月01日 05点09分
@你是二还是贰呢 $_SESSION[]会被当成普通数组[疑问]
2016年09月01日 05点09分
level 6
oOo不知oOo 楼主
[狂汗]
2016年09月01日 05点09分 6
level 6
oOo不知oOo 楼主
[疑问][疑问][疑问]
2016年09月01日 05点09分 7
level 11
------当会话自动开始或者通过 session_start() 手动开始的时候, PHP 内部会调用会话管理器的 open 和 read 回调函数。 会话管理器可能是 PHP 默认的, 也可能是扩展提供的(SQLite 或者 Memcached 扩展), 也可能是通过 session_set_save_handler() 设定的用户自定义会话管理器。 通过 read 回调函数返回的现有会话数据(使用特殊的序列化格式存储), PHP 会自动反序列化数据并且填充 $_SESSION 超级全局变量。--------
---------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
以上是官方手册上写的。明白?
就是说,如果你不开启session_start(); 你写的$_SESSION['test']=1;不论把$_SESSION,换成$_POST,$_GET;都是成立的。简单的说,就是直接把_SESSION['test']声明为一个变量。
---------------------
如果,你开启session, 在输出$_SESSION['test'];就会提示test这个字段不存在。
-------------------------
所以,明白了?
==================结论======================
----------------没事多看看手册----------------
2016年09月01日 06点09分 10
比如,我在echo $_SESSION['name']前面,先随便echo个值,再写session_start(),然后 再echo$_SESSION['name'],这样也不会报错,不是说在session_start()前面有值输出的话,就会有这样的提示吗?‘Warning: Cannot send session cache limiter ’
2016年09月01日 07点09分
回复
在无知中逝去
:“不是说”------谁说的?
2016年09月01日 07点09分
回复
在无知中逝去
:自己写一个,运行一下不就知道了。
2016年09月01日 09点09分
@sky甜丫头 就是没有这样的warning提示,所以我才有疑问啊,明明可以不用一定写在头部的,为什么都那么说?[狂汗]
2016年09月01日 11点09分
level 5
其它页面开启了被你引用过来了吧
2016年09月01日 09点09分 11
没有,就一个单独的文件
2016年09月01日 11点09分
level 11
2016年09月01日 18点09分 12
level 14
头部没有写session_start(),为也可以使用session。
2016年09月01日 22点09分 13
1