我正在为我的webby编写一个简单的脚本,如果发生错误500,它会向我发送一封电子邮件。我想转储所有可能的变量,会话,POST或其他什么,当错误发生时,所以我可以尽可能精确地分析问题。
这是我现在的代码:
function variable_name( &$var ) {
$var_name = array_search( $var, $GLOBALS );
return "{$var_name} = \"{$var}\"";
}
$bar = "whatever";
echo variable_name( $bar ); // bar = "whatever"
它正在检查$ GLOBALS,但是我需要检查和打印$ _POST,$ _SESSION,类字段等等。我google了一下,发现只是复杂的功能,这对于这么简单的任务来说似乎有点过头了。是否有任何简单的目的,或者我应该只为每个变量类型编写一个函数?
答案 0 :(得分:5)
此函数返回一个多维数组,其中包含所有已定义变量的列表,无论是环境,服务器还是用户定义的变量,都在调用get_defined_vars()的范围内。
这包括$GLOBALS
(自PHP 5.0.0起),$_POST
,$_SESSION
等。
答案 1 :(得分:1)
你试过get_defined_vars function
吗?
http://fr2.php.net/manual/fr/function.get-defined-vars.php
答案 2 :(得分:1)
Ondrej,尝试print_r函数。在手册中查找,有时它真的很有帮助。请注意,它还需要一个可选的第二个参数,当您想要将输出记录到文件或db而不是仅将其打印到屏幕时,该参数非常有用。
答案 3 :(得分:1)
答案 4 :(得分:0)
但我需要一些可以检查的东西 并打印$ _POST,$ _SESSION, 类字段等。
这个怎么样:
function variable_name(&$var) {
$var_name = array_search( $var, $_POST); // or you can put $_GET, $_SEESION,etc
return "{$var_name} = \"{$var}\"";
}