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