在Discuz! X中一如继往的,SESSION 并没有使用 PHP 自带的 SESSION 机制,而是系统的一套自带的机制。
在数据库中可以看到有两个 SESSION 表:
一个是pre_common_adminsession,是管理员登录后台的 SESSION 表;
另一个是 pre_common_session 表,是所有用户在前台浏览页面时的 SESSION 表。
这两个表都是内存表(内存表的读写速度远高于 MYISAM 表及文本文件)。
在 Discuz! X 中 SESSION 与 COOKIE 是分不开的,因为 SESSION 就是从客户端读取的 COOKIE ,
然后由浏览页面时触发相关的函数执行,再写入数据库 SESSION 表。
我以登录流程为例来讲解程序具体是如何执行的。
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
发生错误: 虚拟目录或网站根目录下没有正确的DNT.config文件
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
...
最近两天一直在捣鼓discuz!NT这个论坛。公司有个二次开发的版本,客户反馈回来用户注册以后无法收到来自系统的激活邮件。(个人觉得注册就注册,何必还来个激活邮件,费事),先前凭程序员的直觉是程序出错了,实际上没看到错误。
就在一直调试代码。后来在我测试过程中,偶然发现了来之设置错误的问题。
关键点在于:邮箱地址和用户名还必须保持一致。然后是新浪的邮箱不支持smtp的发送。
企业邮箱、163、gmail、QQ均通过测试。以下为截图!仅供参考
...