PHP - print_r(get_defined_vars());返回空白屏幕

时间:2012-07-22 22:03:45

标签: php

我正在尝试在我的php中获取变量转储,所以我正在使用:

print_r(get_defined_vars());

生成它,但无论我在哪里插入代码,它都会产生一个空白页面。有什么想法吗?

4 个答案:

答案 0 :(得分:2)

其中一个输出变量可能包含阻止网站加载的HTML,CSS和/或JavaScript代码。

查看源代码(在大多数浏览器中使用 Ctrl + U ,或右键单击→View Source)而不是渲染页面以查看所有内容你的PHP脚本输出。

此外,通过插入echo "test";确保实际执行php代码。这应该出现,至少在源代码中。

答案 1 :(得分:2)

当然你的代码是正确的,所以空白页面的原因必须是其他地方有一些错误(如果你不把那行放进去,页面是否有效)?也许你的行打破了代码块的语法。

然后错误被重定向到php_errors.log或其他一些文件,或者甚至可能没有生成,你看到一个空白页面。

检查:

  • 在脚本中尽早使用error_reporting(E_ALL)
  • 错误发生在php.ini中
    • 检查这些错误日志文件(如果有)
  • 检查服务器错误日志(例如Apache的error_log文件)。

一旦清除了上游错误,您应该能够看到输出。

答案 2 :(得分:2)

get_defined_vars在其返回的变量中包含$GLOBALSprint_r不检查递归。因此,你只是在一个无限循环中,甚至max_execution_time都不能拯救你。

答案 3 :(得分:0)

也许如果您正在为使用ioncube作为保护的脚本开发扩展程序/插件,那么也许就是问题所在,Ioncube似乎停止了get_defined_vars()作为防止反向工程的一部分。