gpt4 book ai didi

php - Yii session 数据不为 CCaptcha 保留

转载 作者:可可西里 更新时间:2023-11-01 00:49:03 26 4
gpt4 key购买 nike

要在 Yii 中启用 session ,您需要做什么特别的事情吗?

我在使用 Yii 的 CCaptcha 包时遇到了问题。我遇到的最终问题是验证码验证每次都失败,因为之前的验证码字符串没有在页面浏览之间保留。在我的本地环境中一切正常,但在生产服务器上却失败了。

我已将所有内容追溯到 session 。

如果我清除我的 cookie,我可以看到设置了 PHPSESSION cookie,所以 PHP 正在执行它的工作。

但是如果我把这段代码放到页面中...

$session=new CHttpSession;
$session->open();
header("X-Session: " . $session['testval']. ' at ' . time());
$session['testval'] = time();

...我在我的(工作中的)开发服务器上得到了这个结果:

  • 页面 View 1:X session :1341416149
  • 页面 View 2:X session :
    1341416149 在 1341416152
  • 页面 View 3:X session :1341416152 at
    1341416163

但是在生产服务器上我得到了这个:

  • 页面 View 1:X session :1341415456
  • 页面 View 2:X session :位于 1341415518
  • 页面 View 3:X session :1341415530

很明显 session 数据没有被保留。有什么想法吗?

最佳答案

我讨厌回答我自己的问题,但就我而言,问题是生产服务器上的 CHttpSession 配置不正确。我不确定 savePath 指向哪里,但是当我将它明确设置为 /tmp 时,我可以看到 session 数据在页面 View 中得到了保留。这是我最终在 /protected/config/main.php 中使用的内容:

// application components
'components'=>array(
'session'=>array(
'autoStart'=>true,
'sessionName'=>'session',
'savePath'=>'/tmp', // this is the default, but still needs to be explicitly set
'timeout'=>1440
),
...

关于php - Yii session 数据不为 CCaptcha 保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11332200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com