【问题标题】:Smarty kills my sessionSmarty 杀死了我的会话
【发布时间】:2012-12-31 22:10:15
【问题描述】:

我对 Smarty 3.1.13 有疑问。

Smarty 终止了我的会话。每次我刷新页面时,$_SESSION 数组都是空的。 当我评论$smarty->display('index.tpl') 行时,一切正常。

有什么想法吗?

【问题讨论】:

  • smarty 不会杀死你的会话,显示你的代码
  • 仅供参考,昨天有一个补丁发布...
  • 哪个补丁?你能说更多吗?你说的是Smarty 3.1.13的release,我下载了,问题依旧。
  • 发布您的代码以帮助您!

标签: php session smarty session-variables smarty3


【解决方案1】:

我不能发布这个时间代码,因为它被分成很多部分(框架),我没有发布它们的权限。 感谢您抽出宝贵时间,但我发现 Smarty 的另一个问题和我的问题的解决方案:

  1. 当您以扩展方式编写模板时(一个模板扩展另一个模板),即使$smaty->debug=true

  2. 也看不到 Smarty 调试窗口
  3. 当您正在运行的模板扩展另一个模板时,$smarty->debug = true 会终止您的会话。不要问我为什么,我没有时间检查它。我认为这是一个错误。

【讨论】:

    【解决方案2】:

    你必须在$smarty->display('index.tpl')之前开始你的会话

    这是因为会话 cookie 需要在 HTTP 标头中发送,因此需要在第一行输出之前调用 session_start

    所以请确保session_start() 放在$smarty->display('index.tpl') 之前

    【讨论】:

    • 感谢您的建议,但是会话是在 index.php 的第二行开始的(就在 session_start().
    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2011-08-11
    • 2014-11-19
    相关资源
    最近更新 更多