Phalcon会话:缓存文件夹,错误报告/异常?

时间:2013-04-27 16:19:57

标签: php session phalcon

我正在尝试在我的应用程序中使用Sessions。但是,我无法让他们在一个非常简单的phpunit测试中工作。进行以下测试:

<?php

namespace Tests\App;

class SessionTest extends \PHPUnit_Framework_TestCase
{

    public function testSession()
    {
        $session = new \Phalcon\Session\Adapter\Files(array('uniqueId' => 'my-private-app'));
        $session->start();

        $session->set('foo', 'bar');
        $this->assertEquals('bar', $session->get('foo'));
    }

}

结果是:

  

有1次失败:

     

1)Tests \ App \ SessionTest :: testSession断言声明为null   匹配预期的'bar'。

我在这里遗漏了什么吗?根据文档,这正是简单会话应该如何工作。

在$ session-&gt; start()之后立即在会话对象上使用var_dump也会显示会话对象认为没有启动:

class Phalcon\Session\Adapter\Files#226 (3) {
  protected $_uniqueId =>
  string(14) "my-private-app"
  protected $_started =>
  bool(false)
  protected $_options =>
  array(1) {
    'uniqueId' =>
    string(14) "my-private-app"
  }
}

该会话显然难以启动时,是否应该存在某种可捕获的反馈?我现在正在使用Phalcon 1.0.1。提前感谢任何建议!

1 个答案:

答案 0 :(得分:1)

由于PHPUnit会自动生成一些输出,这会隐式地使得标头在请求中发送,这使得Phalcon无法启动会话。在这种情况下,您可以使用@session_start()强制启动会话,使_SESSION超全局可用