通过电子邮件(PHP)向自己发送get_defined_vars()


sending get_defined_vars() to yourself via email (PHP)

在开发过程中,当其他人正在试用我的网站并遇到问题时,我希望能够找出我的代码出现问题的地方,get_defined_vars()可能是我发现此时发生的事情最有用的方法。

我已经到了编写这个函数的地步,但它正在返回:

分析错误:语法错误,意外的"="

有人知道从php发送get_defined_vars()的方法吗?

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>'n';
$message. = print_r(addslashes($emailarr));
$message. = '</pre>';
$headers = 'From: webmaster@domain.com' . "'r'n" .
    'Reply-To: webmaster@domain.com' . "'r'n" .
    'X-Mailer: PHP/' . phpversion();
    mail($to, $subject, $message, $headers);
}

编辑:这是通过更改为:(预标记实际上没有必要,我正在研究如何更好地格式化gmail)来修复的

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>';
$message .= print_r($emailarr, true);
$message .= '</pre>';
$headers = 'From: webmaster@domain.com' . "'r'n" .
    'Reply-To: webmaster@domain.com' . "'r'n" .
    'X-Mailer: PHP/' . phpversion();
    mail($to, $subject, $message, $headers);
}

您需要调用print_r,并将第二个参数设置为true。此外,不应在数组上调用addslash。它应该看起来像:

print_r($emailarr,true);

最后,你需要移动。等号旁边的(句点)。您的代码应该看起来像:

$message = '<pre>'n';
$message .= print_r($emailarr,true);
$message .= '</pre>';