-
PHP 默认不会在浏览器中显示或者报出错误信息,这里我们需要手动开启。
-
如果有错误发生(触发了错误),默认情况下会被显示在页面(即输出的结果页面)。
-
我们可以对此进行设置,以诀定以下两点:
1、设置 display_errors 以决定是否显示错误:
-
在php.ini中设置:
display_errors = On 或 Off;// 这里设置,影响所有使用该php语言引擎的代码(网站页面) ; -
在php文件中设置:
ini_set("display_errors", 1 或 0 ('On' 或 'Off'));// 1 (On) 表示显示,0 (Off) 表示不显示,在这里设置,只影响当前网页代码本身。
2、设置 error_reporting 以决定显示哪些错误:
-
在php.ini中设置:
error_reporting = 错误代号1 | 错误代号 2 //;(要显示的就写出来,或者可以写E_ALL,表示显示所有) -
在php文件中设置:
ini_set("error_reporting", 错误代号1 | 错误代号 2);
或者
error_reporting(错误代号1 | 错误代号 2); // 例如 error_reporting(E_ALL | E_STRICT);
3、display_errors 与 error_reporting 两者都需要设置,可以从两者的设置方法里面选其一就好了,不过建议要么 php.ini 文件修改,要么就代码里面添加。
-
- 方式一:在PHP文件最顶部加入开启错误提示代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
// 在PHP文件最顶部加入开启错误提示代码
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
// 错误的导入文件以及输出未定义的对象
include 'lib/nav1.html';
echo '<br>当前的页码为:' . $page;
?>
</body>
</html>
- 方式二:修改 php.ini 配置,开启错误提示
# 开发错误提示
display_errors = Off 修改为 display_errors = On
# 修改错误级别
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
修改为
error_reporting = E_ALL
在 php.ini 文件中的位置:
; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
; it could be very dangerous in production environments. Depending on the code
; which is triggering the error, sensitive information could potentially leak
; out of your application such as database usernames and passwords or worse.
; For production environments, we recommend logging errors rather than
; sending them to STDOUT.
; Possible Values:
; Off = Do not display any errors
; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
; On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
# 开发错误提示
display_errors = Off // 修改为 display_errors = On
; Common Values:
; E_ALL (Show all errors, warnings and notices including coding standards.)
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
# 修改错误级别
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
// 修改为
error_reporting = E_ALL
网友评论