通常在开发周期中,当一个人在编写 PHP 和测试时,每次运行只会看到一个错误。
您可以使用 php.exe 或使用在线工具pilliapp或 phpcodechecker查看语法错误。但是,您无法检测到运行时错误,例如未定义的变量。
您可以使用XDebug进行跟踪,但这很无聊。
如何在浏览器中显示所有 PHP 运行时错误?
因此,用户可以同时以不显眼的方式处理所有愚蠢的问题。(不是逻辑错误)。
通常在开发周期中,当一个人在编写 PHP 和测试时,每次运行只会看到一个错误。
您可以使用 php.exe 或使用在线工具pilliapp或 phpcodechecker查看语法错误。但是,您无法检测到运行时错误,例如未定义的变量。
您可以使用XDebug进行跟踪,但这很无聊。
如何在浏览器中显示所有 PHP 运行时错误?
因此,用户可以同时以不显眼的方式处理所有愚蠢的问题。(不是逻辑错误)。
论坛和问答网站确实是一个很好的学习资源!
昨天我在stackoverflow .com 上提出了一个问题,讨论启发了我创建一种新方法来使用PHP和Javascript来驯服 PHP 中的绝大多数运行时错误。
假设我有一个包含许多潜在运行时错误的 PHP 源代码。所以我将我的代码放在 HTML 标记内的以下行中,例如放在我需要使用 PHP 代码的初始位置。
<script type="text/javascript">
var nerrors = 0; // PHP Errors count in Javascript
function PHPErrors() { // Javascript Function that wraps the PHP Code
<?php
// MyErrorHandler is my function that my custom error handler
// uses with error parameters in that given order.
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "document.getElementById('PHPError').innerHTML += " .
"\"$errno: $errstr ($errline)<br>\";\r\n";
echo "nerrors = nerrors + 1;\r\n";
return true;
}
// That's the line the set my custom new error-handling
// disabling the default error handling
$old_error_handler = set_error_handler("myErrorHandler");
// Below random PHP code full of errors
$b = $a; // PHP Error 1
$c = $a +1; // PHP Error 2
$d = $a + 1; // PHP Error 3
$e = $_SESSION['glove']; // PHP Error 4
?>
// No PHP runtime error deserves a nice messagen
if (nerrors===0) {
document.getElementById('PHPError').innerHTML =
"Well done! PHP without errors."; }
} // End Javascript Function
在这段代码之后,您可以自由地添加额外的 Javascript 和 PHP。最后,我将以下 2 行放在 HTML 正文中的某个位置。
<p id="PHPError"> </p>
<button onclick="PHPErrors()">Show me all PHP runtime errors</button>
所以当我浏览这个 PHP 页面时,我可以看到
最后我按下它,我可以看到所有 PHP 运行时错误消息
8: Undefined variable: a (26)
8: Undefined variable: d (27)
8: Undefined variable: c (28)
8: Undefined index: glove (29)
或令人愉快的
Well done! PHP without errors.
显然,不需要任何按钮,并且可以将此代码包含在 javascript onload 函数中。