0

出于调试原因,我经常使用 PHP 函数 var_dump()

<pre>
  <?php
    var_dump($myVariablesArray);
  ?>
</pre>

但我需要将其内容(以及我用于调试的更多内容)输出到一个新的弹出窗口中。

有几个关于打开一个新的 JS 窗口的例子,但是我找不到任何可以帮助我打开一个新窗口并从 PHP 打印到其中的东西,这一切都是在我正在调试的页面加载时自动完成的。

有什么提示吗?

4

2 回答 2

0

由于有关将内容添加到新打开的窗口的建议,我解决了这个问题

在我要调试的页面上,我需要添加以下代码(如果会话未启动,我需要添加 "session_start();" ):

<?php
$_SESSION['varsLog'] = "<pre>".htmlspecialchars(print_r($myVariablesArray))."</pre>\n";
?>
<script type="text/javascript">
$(document).ready(function () {
var OpenWindow = window.open("/empty.html", "phpLog", 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1400,height=640');
});
</script>

然后我的域根目录上有 empty.html 页面:

<?php session_start(); if (!isset($_SESSION['varsLog'])) { exit(1); } ?>
<html><body>
<?php
echo date(DATE_RFC822); 
$refer = $_SERVER['HTTP_REFERER'];
echo "<br><br>Variables from <a href=".$refer.">".$refer."</a><br><br>";
echo $_SESSION['varsLog'];
unset($_SESSION['varsLog']);
?>
</body></html>

通过这种方式,我可以将第一个代码片段添加到我需要调试的任何页面,每次加载这些页面时,我之前打开的新窗口将使用最后加载页面中的变量进行更新,并带有有用的引用 url 和时间戳为了确定。

感谢大家的帮助!

于 2013-08-29T09:38:57.823 回答
0

你可以var_export()改为也许。然后将其附加到服务器上 txt 的开头。然后你可以在第二个窗口中有一个小脚本,它每 5 秒刷新一次,并显示该 txt 文件。很像日志

http://www.php.net/manual/en/function.var-export.php

亲:您可以在运行之间保留 txt,并保存输出。

缺点:格式有点不同var_dump()

于 2013-08-29T01:11:54.537 回答