【问题标题】:PHP var_dump of ALL functions?所有函数的PHP var_dump?
【发布时间】:2017-03-25 01:34:35
【问题描述】:

我在全局目录中加载了一个 SMTP 进程/函数 - 已经工作了多年。今天它突然停止了。我已经通过了我的代码,并且我的子域正在调用 smtp。但是没有任何东西被记录/记录。我没有 SMTP 电子邮件(密码)。

在我的子域中,我有一个注册函数。

register_shutdown_function('关机');在这个关闭例程中,我调用了回溯。

ob_start();
var_dump(debug_backtrace());
$text.= ob_get_clean();

这已保存到我服务器上的文件中并正确记录。

问题是回溯显示的 ONLY 函数是我的关闭函数。

有没有办法跟踪/记录 ALL 的进度以及程序已经使用或正在尝试使用的任何功能?

Ps 我有我的日志记录程序的日志和显示我正在记录东西的日志......我有比实际程序更多的日志记录 - 试图调试东西......

【问题讨论】:

  • 我也用过 - debug_print_backtrace(); - 唯一显示的功能是关机功能
  • 谈论一个糟糕的设计,哦,好吧。在 PHP 中,您可以重命名每个内部函数,但它需要一个名为 runkit 的模块。重命名函数,创建自己的函数调用“重命名”本机函数。现在登录它被调用的那个函数。您甚至可以通过使用像__FILE____LINE____FUNCTION__ 这样的魔术常量来做到这一点。所以是的,这是可能的。
  • 你检查错误日志了吗?

标签: php debug-backtrace


【解决方案1】:

我已经解决了我的问题,正在修复...(虽然我仍然想知道一个可靠的错误跟踪...

基本上我在“登录”屏幕上。但是我的会话值告诉我我已经登录了。在发送我的密码电子邮件之前将我弹回脚本的主要部分。

当然,脚本的主要部分将我的 URL 视为登录屏幕,因此它向我显示了该屏幕。 (无限循环)。

如果我已经登录,现在添加一个部分以将 URL 弹回主屏幕...

【讨论】:

    猜你喜欢
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2014-01-24
    • 2014-06-14
    • 2011-05-30
    • 2011-09-28
    相关资源
    最近更新 更多