推荐:《php视频教程》
今天写了一段代码,测试了一下session,却发现写入的session值获取不到,检查了一段时间,终于发现问题所在:
本人的环境是windows7+apache2.22+php5.2.17
具体的session值代码
page1.php<?phpecho "what are you doing now?";session_start();$_session['a'] = 'wangzhong';$_session['b'] = 'liyu';?>page2.php<?phpecho "i am testing";session_start();echo $_session['who'].'<br/>';echo$_session['hiswife'],'<br/>;?>
这两个测试session读取的页面,发现page2.php获取不到page1.php中保存的值,具体原因为什么呢?
我查了一下apache中关于session的配置,具体如下:
sessionsession support enabled
registered save handlers files user
registered serializer handlers php php_binary wddx
directivelocal valuemaster value
session.auto_start off off
session.bug_compat_42 off off
session.bug_compat_warn on on
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly off off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure off off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_pisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name phpsessid phpsessid
session.referer_check no value no value
session.save_handler files files
session.save_path d:/php/session_temp d:/php/session_temp
session.serialize_handler php php
session.use_cookies on on
session.use_only_cookies off off
session.use_trans_sid 0 0
然后发现session这些都是打开的,session的保存路径我查了一下,结果在php目录下未发现session_temp目录,可能是这里的问题吧,我试着创建了一个同名的文件夹,然后设置为可写,然后重启apache,重新测试了一下,这次发现session值可以读取到了。
真是的,这简单的小问题也是需要认真排查的啊,发现自己最近有点浮躁呢。
session_start()方法之前有htmldom 也是没有问题的,不影响session值的读取同样,session_start()方法前有echo 输出语句也是不影响session值的读取的。
以上就是关于php获取不到session值的问题的详细内容。
