Cookie在Slim框架中不持久


Cookie not persisting in Slim Framework

我是Slim框架的新手。我正在尝试使用中间件功能来进行一些身份验证。然而,虽然我可以在一条路由上设置cookie,但它在页面刷新时就消失了。

       $app->get('/demo', function () use ($app) {
      try {
      $app->setCookie('uid', 'blah', '2 Days');
print_r($app);
      } catch (Exception $e) {
      $app->response()->status(400);
      $app->response()->header('X-Status-Reason', $e->getMessage());
      }
      });
      $app->run();

执行print_r表示cookie已设置

[cookies] => Slim'Http'Cookies Object ( [defaults:protected] => Array ( [value] => [domain] => [path] => [expires] => [secure] => [httponly] => ) [data:protected] => Array ( [uid] => Array ( [value] => blah [domain] => [path] => / [expires] => 2 Days [secure] => [httponly] => ) [key] => Array ( [value] => blah [domain] => [path] => / [expires] => 2 Days [secure] => [httponly] => ) ) ) [body:protected] => [length:protected] => 0 ) )

或者至少setCookie正在获取值。但是,如果我转到另一条路由

     $app->get('/attractions', function () use ($app) {
          try {
print_r($app);
          $data = R::find('attractions');
          $app->render('attractions.php', array(
          'page_title' => "Attractions",
          'data' => $data
          )
          );
          } catch (Exception $e) {
          $app->response()->status(400);
          $app->response()->header('X-Status-Reason', $e->getMessage());
          }
          });

那么饼干不在那里。此外,在我的firebug控制台的日志中,没有显示我设置的cookie。

你知道是什么问题吗?我在网上找到了一些帖子,比如http://help.slimframework.com/discussions/problems/652-cant-seem-to-get-php-cookies-working

但是到目前为止我还没有解决这个问题。我正在运行MAMP,我已经为这个域设置了一个vhost。

Mcrypt php扩展已启用。

任何想法?

我在使用Google Chrome浏览器时遇到了cookie域(用于'localhost')的问题。我在cookies中删除了域名,问题消失了。

>

我把所有的代码都去掉了,看起来好像有什么东西在设置标题。也可能是因为我在Slip应用程序配置中设置了域。我还在/etc/hosts/和vhost的域名末尾添加了一个。com,以防Chrome处理本地主机上的cookie。