Magento会话调试 - 保存/加载会话

时间:2012-11-09 20:52:35

标签: magento

我正在调试一个包含多页表单的Magento站点。在此过程的最后出现错误。每次我想测试新的迭代时重新输入表单都很费时间。

是否可以通过核心或扩展程序保存会话,然后再重新加载?

1 个答案:

答案 0 :(得分:2)

我不知道有哪些产品或项目专门执行此操作,但假设表单实际上将其值存储在PHP会话中,您可能(即我没有测试过)自己扔东西。

当Magento配置为使用基于文件的会话时,您将在var/session文件夹中找到会话。您可以使用以下命令行脚本将此数据读入$_SESSION数组(假设会话名称为sess_jd88xxih1f0qp81ar5pkdkc974

<?php
    $file = file_get_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974');
    session_start();
    session_decode($file);
    var_dump($_SESSION);

然后,您将修改$_SESSION中的值,并使用session_encode生成新的会话字符串

$_SESSION['test'] = 'foo baz bar';
$string = session_encode();
echo $string;

最后,将会话文件写回

file_put_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974', $string);

所有这些都说明了,像Selenium这样的浏览器自动化工具。这些工具似乎是解决你所描述的问题的真实方法。