我正在寻找一种方法来读取PHP会话的内容,而无需实际替换当前请求的运行会话。
假设我有一个正在运行的会话(之前使用session_start()启动,使用默认会话处理程序和PHPSESSID cookie提供的session_id),现在我有了另一个(有效的)session_id,我想读取该会话中存储的一些数据。
我能想到的唯一方法是用$old会话=session_id()替换当前会话,用session_id($newId)设置新会话,然后从$_SESSION读取数据,然后用session_id($old会话)重新启动原始会话——可能涉及一些外交调用session_commit()和session_start()。
但我更喜欢不接触当前正在运行的会话。。。
PHP5.4引入了SessionHandler类(http://php.net/manual/de/class.sessionhandler.php)但是手动调用$SessionHandler-
$handler = new SessionHandler();
var_dump($handler->read($session));
//Fatal error: SessionHandler::read(): Cannot call default session handler
我正在使用本机php memcached会话处理程序
谢谢你给我的小费!
我通过直接从memcached读取会话数据解决了这个问题。
基于http://php.net/manual/de/memcached.sessions.php评论的代码
$session = 'session_id_to_read';
$servers = explode(',', ini_get('session.save_path'));
$c = count($servers);
for ($i = 0; $i < $c; ++$i) {
$servers[$i] = explode(':', $servers[$i]);
}
$memcached = new \Memcached();
$memcached->addServers($servers);
$sessionPrefix = ini_get('memcached.sess_prefix');
$rawData = $memcached->get($sessionPrefix.$session);
$data = $rawData ? unserialize($rawData) : false;
请注意,只有当session.serialize_handler设置为php_serialize时,反序列化($rawData)才有效
我的MySQL不会启动,它显示如下: 然后是错误日志: 这些错误的原因是什么?我如何纠正它们?
问题内容: 我想探索一个正在运行的进程的内存,当我这样做时,该进程一定不能被打扰-因此,将gdb附加到该进程(这将停止它)是不可行的。因此,我想从/ proc / kcore获取此信息(如果您知道执行此操作的另一种方法,请告诉我)。所以我做了一个小实验。我创建了一个名为TEST的文件,其中仅包含“ EXTRATESTEXTRA”。然后我用更少的时间打开它 我得到了这个过程的PID 然后,我使用此脚
在Appium中开始会话时,我收到以下错误: 错误: 处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\用户\satyajit.more\AppData\本地\Android\Sdk\平台工具\adb.exe-P 5037-s模拟器-5554 install'E:\Appium Setup\MobileInsurance_QA_16062018.apk"
ap.getSessionData(OPTION | keys | key, CALLBACK) 读取会话级数据。可用于页面间传递数据。 可直接传入一个数组作为 OPTION.keys,或直接传入一个字符串,作为 OPTION.keys 数组中的某一个 key。 OPTION 参数说明 名称 类型 必填 描述 keys String Array 是 要读取的数据的 key CALLBACK 参数说
我正试图使用Appium从mac上的Android应用程序启动我的应用程序。应用程序 或使用我的代码,但我得到一个错误 无法启动新会话。 确保Appium服务器运行的应用程序是通过使用Appium中的“App Path”参数打开的。应用程序(以及适用于Android的软件包和 活动)或通过连接selenium客户端,并 在所需的功能对象中提供此功能。" 下面是我的Appium日志,我在这里做错了什
我将JProfiler 7配置为与本地运行的Weblogic 8.1集成。 似乎weblogic在使用JProfiler生成的脚本(名为startweblog\u JProfiler.cmd)时启动得很好 然而,janalyiler部分错误并带有以下消息(分析从未发生): 我为PATH添加了以下内容: 路径=C:\Program Files\jprofiler7\bin\windows; 修改了我