0

在开发过程中,当其他人在尝试我的网站并遇到问题时,我希望能够找出我的代码出现问题的地方,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);
}
4

1 回答 1

1

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

print_r($emailarr,true);

最后,您需要移动 . (句点)在等号旁边。您的代码应如下所示:

$message = '<pre>\n';
$message .= print_r($emailarr,true);
$message .= '</pre>';
于 2012-08-29T23:25:29.027 回答