gpt4 book ai didi

php - 在生产环境中认真使用 debug_backtrace() 是否安全?

转载 作者:可可西里 更新时间:2023-11-01 00:38:21 27 4
gpt4 key购买 nike

它的功能太强大了,我担心它的稳定性和性能。

你怎么看?

更新

我正在做的是:

    $old_dir = getcwd();
chdir( dirname($included_file) );
include ( $included_file );
chdir( $old_dir );

本质上它只是执行 include ( $included_file );,但是在 $included_file 里面它找不到 3.php 这是和自己在同一个目录,所以我手动设置了cwd,就可以了。但是如果能找到找不到的原因就好了。至于为什么需要debug_backtrace,这是因为 3.php 被另一个 func 包含,由于相对路径不起作用,它必须使用 debug_backtrace 来获取包含文件路径,最后使用下面提到的绝对路径。

重现并不容易,因为上面的代码是在方法的上下文中,还有更多......如果没有其他人遇到过这种问题,我想就此打住, 无论如何,成本只是多出的 3 条线,没什么大不了的。

最佳答案

debug_backtrace 根据我的经验,它的开销相对较大,因此您应该注意不要在循环中使用它(例如,在捕获警告或通知并每次执行回溯的自定义错误处理程序中)。

对于任何类型的错误记录,我认为它都是非常宝贵的,而且因为它只会被调用一次,所以绝对不是性能问题。在错误报告中包含回溯肯定总是好的。

我不明白为什么这个函数的稳定性会有任何具体问题(即调用它会导致另一次崩溃),我从未听说过任何问题。我能看到的唯一“问题”是 this note in the User Contributed Notes将对象用作未定义 _toString 方法的函数参数时。

当然,您永远不应该将回溯的结果输出给最终用户——这是不言而喻的。

关于php - 在生产环境中认真使用 debug_backtrace() 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com