编辑:我的环境如下(这与答案有关):
- 微软 IIS 10.0 速成版
- Windows 7 专业版 SP1
- PHP 版本 5.6.16 x86 FastCGI
我试图弄清楚设置“display_errors”的用途。在下面的代码中,我试图隐藏在第 9 行抛出的 PHP 通知。自然会认为只需设置
display_errors = 'Off'
会做到这一点,但它似乎没有效果。
我的理解是,“error_reporting”允许您选择捕获哪些错误,而“display_errors”决定是否将错误消息回显给用户。我弄错了吗?在我的大多数 Google 搜索中,我看到有人同时设置
error_reporting = 0
和
display_errors = 'Off'
但是,为什么还要打扰
display_errors = 'Off'
当它无论如何都没有效果时?
我的测试代码:
<?php
//ini_set("error_reporting", 0);
ini_set("display_errors", "Off");
ini_set("display_startup_errors", "Off");
date_default_timezone_set("America/Chicago");
echo "Hey<br />";
echo $myarr["hey"];
当我运行此代码时,我看到以下错误消息(这是图像的链接,因为我没有足够的声誉在此处发布它):
http://i.imgur.com/mupV8BO.png
PHP:为第 9 行生成的错误消息应该对用户隐藏。如果什么都不做,为什么会存在“display_errors”?