PHP会话启动时服务器冻结(同一域上的多个站点)

PHP会话启动时服务器冻结(同一域上的多个站点),php,wordpress,session,Php,Wordpress,Session,从服务器本身执行时,会话启动()出现问题 整个问题是我有一个WordPress和eShop。两者都在同一个域上工作并且具有相同的会话。当我从eShop转到WordPress时,会话是可用的,但我需要从eShop加载几个组件才能加载到WordPress中 由于eShop上有Smarty engine,我需要通过文件获取内容来获取模板,并且由于这不是一个请求,我需要为eShop指定会话ID以识别我 但是当我用指定的ID调用函数时,请求就会冻结,有什么想法吗?问题在于安全处理程序。当我将会话ID提取到

从服务器本身执行时,会话启动()出现问题

整个问题是我有一个WordPress和eShop。两者都在同一个域上工作并且具有相同的会话。当我从eShop转到WordPress时,会话是可用的,但我需要从eShop加载几个组件才能加载到WordPress中

由于eShop上有Smarty engine,我需要通过文件获取内容来获取模板,并且由于这不是一个请求,我需要为eShop指定会话ID以识别我


但是当我用指定的ID调用函数时,请求就会冻结,有什么想法吗?

问题在于安全处理程序。当我将会话ID提取到eShop时,它必须创建一个具有指定ID的新会话,但会话仍然由WordPress打开,这导致在尝试访问eShop中的会话文件时服务器上出现文件锁定和冻结

因此,我制定了以下解决方案:您需要关闭会话文件,以便eShop可以通过使用session\u write\u close开始使用会话文件

<?php
    // close session file
    session_write_close();
    // build the request url with session_id
    $load_basket = $this->_eshop_url .'&force_session='.session_id();
    // fetch the output of eShop template
    echo file_get_contents($load_basket);
?>