我正在尝试在我的 php 中获取变量转储,所以我正在使用:
print_r(get_defined_vars());
生成它,但无论我在哪里插入代码,它都会导致空白页。有任何想法吗?
输出的变量之一可能包含阻止加载站点的 HTML、CSS 和/或 JavaScript 代码。
查看源代码(在大多数浏览器中使用Ctrl+U或右键单击 → View Source
)而不是呈现的页面以查看您的 php 脚本输出的所有内容。
此外,通过插入一个echo "test";
. 这应该显示出来,至少在源代码中。
当然你的代码是正确的,所以空白页的原因一定是其他地方有错误(如果你不把那行放进去,页面会工作吗?);也许你的行打破了代码块的语法。
然后错误被重定向到 php_errors.log 或其他文件,或者甚至没有生成,你会看到一个空白页。
查看:
清除上游错误后,您应该能够看到输出。
get_defined_vars
包含$GLOBALS
在其返回的变量中,并且print_r
不检查递归。因此,您只是在无限循环中结束,甚至max_execution_time
无法将您从中拯救出来。
也许如果您正在为使用 ioncube 作为保护的脚本开发扩展/插件,那么可能是问题所在,Ioncube 似乎停止get_defined_vars()
作为防止逆向工程的一部分。