ini_set('session.use_only_cookies', 1) 设置为 1,但条件说没有

ini_set('session.use_only_cookies', 1) is set to 1, but condition says no

我有一个登录页面,我从那里提交我的表单数据,同时我创建了一个自制的会话函数,我在其中检查是否 (ini_set('session.use_only_cookies', 1 )).当数据被传递时,会话被创建,我检查登录数据是否正确,然后我重定向到 index.php。在index.php i 运行 session 函数中再次和运行 发生错误,即session.use_only_cookies 未设置为1,但它是。我检查了 phpinfo()

之前曾与 XAMPP 合作过,并且在那里工作过。最近切换到 Docker 和 php:7.2-fpm-alpine3.7 image

我的会话函数:

protected function sec_session() {
  define("SECURE", true);
  $session_name = 'sec_session_id';   // vergib einen Sessionnamen
  $secure = SECURE;
  $httponly = true;
  if (!ini_set('session.use_only_cookies', 1)) {
    //header("Location: /error.php?err=Could not initiate a safe session (ini_set)");
    //The above doesn't work
        echo("<script>location.href = '/error.php?err=Could not initiate a safe session (ini_set)';</script>");
//here is where i always land and i'm not sure why?
            exit();
        }
  $cookieParams = session_get_cookie_params();
  session_set_cookie_params($cookieParams["lifetime"],
  $cookieParams["path"],
  $cookieParams["domain"],
  $secure,
  $httponly);
  session_name($session_name);
  session_start(); 
  session_regenerate_id();
    }

这里的问题是 $secure 变量。它被设计为仅适用于 https 请求。这些设置适用于 php:7.1-apache Docker Image