我涉猎PHP。在我完成的项目中,我总是使用数据库和cookie来处理会话。我已经看到“会话功能”,例如session_start()也在其他来源中使用。我只是好奇,哪个更好?我应该使用其中一种吗?
答案 0 :(得分:1)
我建议使用内置会话功能,因为您不必手动编写所有会话处理代码。默认情况下,会话状态存储在文件中,但您也可以更改它,例如使用session_set_save_handler到数据库。
答案 1 :(得分: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
?>
答案 2 :(得分:0)
出于几个原因,我绝对会使用PHP会话
第一个原因是PHP Sessions可以使用本机方法轻松管理。还有许多库允许非常强大的会话管理,例如Zend_Session
PHP会话更具可扩展性。一旦您的应用程序开始增长,使用MySQL作为您的数据存储可能是您最大的瓶颈。在内存中存储会话将允许您水平缩放以进行补偿。存储在数据库中可能会给您的数据库带来比其需要更多的压力。
通常情况下,对于小型应用程序而言并不重要,但如果您计划增长,我肯定会使用PHP会话。