我正在尝试对网络应用进行问题排查,我希望看到各种_SESSION变量,因此我尝试通过电子邮件发送它们。
我收到了电子邮件,但它是空的,会话变量最终显示在网页顶部而不是通过邮件()。
我已经尝试了print_r($_SESSION)
和var_dump($_SESSION)
- 它们都不起作用。
这是我的代码行:
mail('me@mydomain.com', 'Session Var Dump', '<pre>'.var_dump($_SESSION).'</pre>');
答案 0 :(得分:5)
尝试使用print_r($_SESSION, true);
第二个参数使它输出一个可以在变量等中使用的字符串。当你不能使用var_dump
时,这很有用
mail('me@mydomain.com', 'Session Var Dump', print_r($_SESSION, true));
答案 1 :(得分:3)
将var_dump
的输出捕获为字符串:
ob_start();
var_dump($_SESSION);
$result = ob_get_clean();
mail('me@mydomain.com', 'Session Var Dump', '<pre>'.$result.'</pre>');
答案 2 :(得分:1)
var_dump
和print_r
直接打印到STDOUT
。如果要在字符串上下文中使用它们,请在输出缓冲区中为print_r
的第二个参数或包装ob_get_clean
提供true。
ob_start();
var_dump($_SESSION);
$session = ob_get_clean();
或
$session = print_r($_SESSION, true);