php启动session失败异常解决方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php启动session失败异常解决方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2110字,纯文字阅读大概需要4分钟。
内容图文
![php启动session失败异常解决方法](/upload/InfoBanner/zyjiaocheng/219/13911fde35ba4a65b553dd0a71e38f90.jpg)
原文地址:http://www.hjaa.net/?p=1149
php启动session失败错误原因应该是:php.ini中,有关session部分的设置存在错误,引发session?cookies无法发送和保持。
排查步骤:
1、将以下文字保存为phpinfo.php,并上传到服务器要可以访问,比如本站http://www.hjaa.net/phpinfo.php
phpinfo();
?>
重点关注session部分
2、session.cookie_domain设置了A域名,即session.cookie_domain?=?A域名结果导致session?cookies在B域名失效。
解决办法1:将php.ini中的session.cookie_domain设置为空,即:session.cookie_domain?=
解决办法2:session.cookie_domain?=设置成你使用的域名
3、php.ini中,session.cookie_path设置过于严格。比如设置为:session.cookie_path?=?/hjaa/也就是说只允许根域名下面的hjaa目录和子目录才能使用session(更确切来讲,如果session.cookie_domain设置了A域名,则表示A域名下的hjaa目录和子目录才允许使用session)
解决办法:将php.ini中的session.cookie_path设置为“/”(不含双引号)或者你认为的更加宽松的安全设置,比如:?session.cookie_path?=?/
4、php.ini中,将session.cookie_path和session.save_path两者搞混,以为session.cookie_path是表示session临时文件存储的路径。但实际上session.cookie_path是表示session生效的网站域,和服务器的文件权限无关;session.save_path才是设置session临时文件存储的路径。比如将session.cookie_path设置为:session.cookie_path?=?C:/WINDOWS/TEMP从而引发故障。
5、session.save_path设置的目录没有写权限;或者设置不正确(比如设置的文件夹根本不存在)。请注意:如果为空,则表示使用默认的系统临时文件夹路径。windows一般为“%SystemRoot%\TEMP”,unix一般为“/tmp”
解决办法:
(1)、如果session.save_path不留空,请确认该设置值对应的确实是一个文件夹、并且该文件夹存在。如果确实不知道如何设置,请注释此设置、或者改为空值,让php使用默认设置。
(2)、在对应目录中,给予相应用户的写权限比如对于IIS,应给予Internet来宾账户的写权限。
6、当session.auto_start = on时,执行 session_start() 将产生新的 session_idsession.auto_start = on 的优点在于,任何时候都不会因忘记执行 session_start() 或 session_start() 在程序里的位置不对,而导致错误缺点在于,如果你使用的是第三方代码,则必须删去其中的全部 session_start() 。否则将不能得到正确的结果
解决办法:
(1)session.auto_start = Off
(2)把程序中的session_start();去掉
内容总结
以上是互联网集市为您收集整理的php启动session失败异常解决方法全部内容,希望文章能够帮你解决php启动session失败异常解决方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。