wkhtmltopdf会话无法正常工作

时间:2015-01-27 23:26:04

标签: php session-cookies wkhtmltopdf

当我进行php调用时:exec(" ./ wkhtmltopdf-amd64 google.com google.pdf"),我能够生成一个谷歌的pdf。

我需要创建我网站的pdf,但内容取决于会话。因此php命令:exec(" ./ wkhtmltopdf-amd64 myprofile.php profile.pdf")将生成一个与浏览器不具有相同内容的pdf文件。

经过一些研究,我找到了一个例子,其中有人将会话ID作为wkhtmltopdf命令的一部分传递。这是我的命令:exec(" ./ wkhtmltopdf-amd64 --cookie sessionid $ sessionID myprofile.php profile.pdf");

$ sessionID是php命令的结果:session_id();

永远不会生成PDF文件。谁知道我做错了什么?如何让wkthmltopdf使用与浏览器相同的会话数据?

1 个答案:

答案 0 :(得分:0)

使用$_COOKIE传递您的$_SESSION数据: 在您传递$_SESSION变量的页面中,将其转换为选择任何设置变量[COOKIESESSION]的变量,因为wkhtmltopdf只能访问您的{ {1}}秒。 而不是

COOKIE

执行:

$sessionID = $_SESSION['sessionid'];

OR:

$sessionID = $_SESSION['sessionid'] || $_COOKIE['sessionid'];

然后在generate函数中,传递它:

$sessionID = !isset($_SESSION['sessionid']) ? $_COOKIE['sessionid'] : $_SESSION['sessionid'];

请注意, $ _ SESSION 的键与 $ _ COOKIE 的键相同,并且 - cookie 参数传递给 wkhtmltopdf