php - 查找 PHP 脚本输出字符串的位置

标签 php output stdout

当我运行 php someScript.php 时,我得到了一些预期的输出和一些意外的字符串。它们看起来像调试字符串,并且可能在开发过程中放置​​在那里。该文件是更大框架的一部分,可以包含进一步需要其他文件的其他文件。

我不知道哪个函数(echo、print、var_dump、write...)用于输出(不需要的)字符串。

如何找到(动态生成的)字符串输出到 stdout 的位置的文件和行号。

谢谢!

最佳答案

这有点难看,但你可以尝试弄乱输出缓冲区。以下方法似乎对我有用:

<?php
$locations = [];
ob_start(function($buffer) {
  global $locations;
  $locations[] = debug_backtrace();
  return $buffer;
}, 1);

// Your code with output here.

// $locations should contain the information now
print_r($locations); 
?>

关于php - 查找 PHP 脚本输出字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521026/

相关文章:

php - 项目排名,使用 Reddit 排名算法按置信度排序

php - 将 MySQL 表值分配给变量的更简单方法

java - 当我完成运行时,如何将 IntelliJ 上的控制台输出设置在底部

buffer - 如何增加 ipython qtconsole 回滚缓冲区限制

c++ - 为什么这个程序会创建这样的输出?

php - 如何按类别列出评论? (操作数组)

javascript - 使用js验证输入

java - 使用 stdin 和 stdout 使用 Java 与外部 C 程序通信

c# - Console.Error 和 Console.Out 不写入重定向文件流

python - 将所有 stdout/stderr 全局重定向到记录器