我涉足PHP。在我完成的项目中,我总是使用数据库和cookie来处理会话。我见过“会话功能”,如session_start()也被用于其他来源。我只是好奇,哪个更好?我应该使用这个还是另一个?PHP会话与数据库会话
1
A
回答
1
嗯,有,我已经使用过退房时间三种方式:
- 传统
$_COOKIE
三通,也就是说你实际使用Cookie来存储值 - “新”
$_SESSION
三通,其中您使用的关联数组可能依赖于一个Cookie - 将
$_SESSION
与数据库结合使用,可以在基于用户的基础上控制会话。
我更喜欢使用选项#3,因为它使我能够“即时”更改会话,并且更轻松地跟踪登录用户。
选项#3将通过以下方式(半准)发挥出来:
<?php
//Start the session
session_start();
//Get the session data
$_SESSION['user'] = retrieveSessionDataFromDB($_SESSION['user']['unique_id']);
//Profit
?>
1
我建议使用内置的会话函数,因为您不必手动编写所有会话处理代码。默认情况下,会话状态存储在一个文件中,但您也可以更改它,例如数据库使用session_set_save_handler。
+0
固定链接:[session_set_save_handler](http://www.php.net/session_set_save_handler) – jjt
0
我绝对会使用PHP会议上,一对夫妇的原因
第一个原因是,使用本地方法可以轻松管理PHP会话。还有许多库允许非常强大的会话管理,如Zend_Session
PHP会话更具可扩展性。一旦你的应用程序开始增长,使用MySQL作为数据存储可能是你最大的瓶颈。将会话存储在内存中将允许您水平缩放以进行补偿。存储在数据库中可能会给数据库带来比它需要更大的压力。
通常情况下,虽然,它没有多大意义的小应用程序,但是如果你计划增加我肯定会使用PHP会议。
相关问题
- 1. PHP - 与会话,Cookie或数据库
- 2. JSP/Servlets会话+ PHP:跟踪会话 - JSON /数据库或HttpSessionListener?
- 3. 使用自定义会话ID处理PHP数据库会话
- 4. 在php数据库中设置会话
- 5. PHP数据库会话处理
- 6. PHP - 会话和数据库问题
- 7. PHP会话安全性:将会话存储在数据库中与更改会话保存路径?
- 8. CORS与PHP会话
- 9. sha256与PHP会话
- 10. Symfony会话到php会话
- 11. CodeIgniter会话vs PHP会话
- 12. 从数据库到会话
- 13. Kohana 3.2 - 会话数据库
- 14. Codeigniter会话数据库
- 15. Python数据库会话(meta.Session)
- 16. PHP会话数据刷新
- 17. 我应该使用数据库会话还是本机PHP文件会话?
- 18. 如何获取会话数据与出HttpContext.Current,按会话ID
- 19. PHP会话与jQuery show()/ hide()
- 20. 问题与PHP会话
- 21. 与HTML的PHP会话
- 22. PHP会话问题与SAFARI
- 23. 与PHP共享Servlet会话
- 24. 数据会话笨
- 25. Codeigniter本地会话或ci会话库
- 26. .net会话清除php会话
- 27. jquery PHP会话
- 28. PHP会话/
- 29. PHP会话
- 30. php mysql会话
我使用一个包含sesid的cookie。我使用sesid(检查useragent,时间等),以及检查名为“ses”的mysql表中的对应行。有点类似于你的#3 – Lienau
我觉得这是一个很好的解决方案,因为你实际上可以从一个集中点(即管理中的会话列表)控制会话。 – ninetwozero