出于调试原因,我经常使用 PHP 函数 var_dump()
<pre>
<?php
var_dump($myVariablesArray);
?>
</pre>
但我需要将其内容(以及我用于调试的更多内容)输出到一个新的弹出窗口中。
有几个关于打开一个新的 JS 窗口的例子,但是我找不到任何可以帮助我打开一个新窗口并从 PHP 打印到其中的东西,这一切都是在我正在调试的页面加载时自动完成的。
有什么提示吗?
出于调试原因,我经常使用 PHP 函数 var_dump()
<pre>
<?php
var_dump($myVariablesArray);
?>
</pre>
但我需要将其内容(以及我用于调试的更多内容)输出到一个新的弹出窗口中。
有几个关于打开一个新的 JS 窗口的例子,但是我找不到任何可以帮助我打开一个新窗口并从 PHP 打印到其中的东西,这一切都是在我正在调试的页面加载时自动完成的。
有什么提示吗?
在我要调试的页面上,我需要添加以下代码(如果会话未启动,我需要添加 "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 和时间戳为了确定。
感谢大家的帮助!
你可以var_export()
改为也许。然后将其附加到服务器上 txt 的开头。然后你可以在第二个窗口中有一个小脚本,它每 5 秒刷新一次,并显示该 txt 文件。很像日志。
http://www.php.net/manual/en/function.var-export.php
亲:您可以在运行之间保留 txt,并保存输出。
缺点:格式有点不同var_dump()