我正在调试一个包含多页表单的Magento站点。在此过程的最后出现错误。每次我想测试新的迭代时重新输入表单都很费时间。
是否可以通过核心或扩展程序保存会话,然后再重新加载?
答案 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这样的浏览器自动化工具。这些工具似乎是解决你所描述的问题的真实方法。