php session_start() 正在 WP enging 中工作,但未在实时站点中工作

php session_start() is working in WP enging but not worked in live site

我有一个网站,其中有工作用的 wp 引擎。我在 wp 引擎中添加了 php session_start() 并且它工作正常。但我的生活不与 php session_start(); 一起工作。实时站点创建了会话,但在重定向后其会话一直为空白,可能会话已被破坏。但是在实时站点和暂存站点中使用相同的功能,那么为什么不在实时站点中工作呢?我在这个论坛上有很多答案,我也在实现这段代码,但没有用。我该如何解决这个问题?

add_action('init', 'myStartSession', 1);
add_action('wp_logout', 'myEndSession');
add_action('wp_login', 'myEndSession');

function myStartSession() {
    if(!session_id()) {
        session_start();
    }
}

function myEndSession() {
    session_destroy ();
} 

假设您的网站也在 WP Engine 中,不幸的是 不支持 PHP 会话 由于其特定的缓存设置。您可以在此处阅读更多内容 - https://wpengine.com/support/cookies-and-php-sessions/。 WP Engine 缓存可能在您的暂存环境中被禁用,这就是 PHP 会话工作的原因。

解决方案:您需要切换到 PHP cookies(或)禁用 WP Engine 缓存。