【问题标题】:How to turn off notice reporting in xampp?如何在 xampp 中关闭通知报告?
【发布时间】:2013-11-12 19:19:22
【问题描述】:

在远程服务器上没有问题,但在本地主机(xampp 3.1。)我无法关闭报告通知。

<?php
$Fname = $_POST["Fname"];
...

结果:

Notice: Undefined index: Fname in D:\xampp\htdocs\xx\php01\form01.php on line 6

php.ini

; 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_NOTICE  //shouldn't this line turn off notice reporting ?

有什么建议吗?

【问题讨论】:

  • 为什么要关闭开发通知?个人在开发环境中,我相信你应该使用E_ALL,就是这样。您是否检查过您没有在运行时更改此值?
  • 最好的做法是修复错误。通知错误,但程序可以从中恢复。 $Fname = isset($_POST['Fname']) ? $_POST['Fname'] : '';
  • @MikeBrant,关于我尝试 php 的故事很长。我只是想知道如何排除它们。
  • php.ini 文件中的display_errors 怎么样?这是On 还是Off
  • 改成display_errors=Off看看。

标签: php xampp


【解决方案1】:

在文件开头写下这段代码。

ini_set('display_errors', 0);
error_reporting(E_ERROR | E_WARNING | E_PARSE); 

编辑1

如果你不想使用上面的行,那么你必须在$_POST 之前写@ 来隐藏通知,比如

$Fname = @$_POST["Fname"];

编辑 2

使用这行error_reporting = E_ALL &amp; ~E_NOTICE 也可以更改display_errors = Off,尽管它的编程习惯不好。

【讨论】:

  • 不,谢谢,它可以工作,但在这种情况下,我必须在每个文件上写下这些行。为什么不能在 php.ini 级别上做?
  • 您的php.ini 文件与此代码error_reporting = E_ALL &amp; ~E_NOTICE 绝对可以解决问题。不知道为什么它不与您合作。您是否使用任何框架/CMS 可能有 error_reporting 再次设置为 true
  • Noor,没有框架,没有 cms。但是,如果您在我的 php.ini 行中没有看到任何错误 - 假设已解决。谁知道真正的原因是什么。谢谢,不用了。
【解决方案2】:

如果您正在运行 XAMPP 并想关闭通知(或其他功能):
1. 确保编辑正确的 INI 文件(从控制面板中选择配置)
2. 开启 display_errors=on
3. 打开error_reporting=E_ALL & ~E_NOTICE (这只会抑制通知错误)
4. 重要提示 - 确保 XAMPP 不会在文件后面覆盖您的设置(阅读第一组设置上方的通知)
5. 保存文件后停止并启动 Apache

【讨论】:

    【解决方案3】:

    尝试在您的$Fname = $_POST["Fname"]; 行之前执行phpinfo();。 error_reporting 属性值是多少?请参阅thisthis 以了解表中显示的值。

    如果不是您所期望的,请检查该属性是否未被 php.ini 更改。 您也可能编辑了错误的 php.ini 文件:XAMPP 倾向于复制原始 php.ini 文件并创建自己的文件。使用phpinfo();,在表格中搜索'php.ini'字符串:你会找到所使用的php.ini文件的路径。

    最后一件事,也许问题是您在更改 php.ini 文件后没有正确重新启动 apache。问题是 xamp 是 apache 服务的一个独特进程。关闭 XAMP 不会使 apache 服务停止,你最好使用 XAMPP 控制面板来停止/启动 apache。

    【讨论】:

    • OliverH,我得到了所有的 phpinfo 表,最后 - Notice: Undefined index: Fname in D:\xampp\htdocs\xx\php01\form01.php on line 7
    • 是的,但是您在 phpinfo 表中得到了什么?我的意思是搜索 error_reporting 字符串,并给我们显示的值。
    • OliverH,对不起,我该如何搜索那个字符串。 fiefox 中的 Ctrl F 以及要搜索的内容?
    • 类似'error'、'reporting'、'error_reporting'、'error reporting'...你应该很快就能找到它。
    • OiverH 我发现了错误报告,并在下一个(右)单元格中找到了这个数字 - 32767。同样在第二个(右)单元格中
    【解决方案4】:

    解决这个问题最简单的方法如下: 1.关闭Apache服务器 2. 转到 c:\xampp\php\ 3.将php.ini重命名为php.ini.bak 4.将php.ini-production重命名为php.ini 5. 再次开启服务器。

    它有一个缺陷,它将所有内容都恢复为生产模式。但您可以随时撤消此操作。

    【讨论】:

    • 我认为最好对php配置有一个基本的了解,并且只更改需要的值。
    【解决方案5】:

    记得在 php.ini 中取消注释 error_reporting 去掉 ';'在“error_reporting”之前。

    真的浪费了我的时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-21
      • 2021-06-18
      • 1970-01-01
      • 2017-07-31
      • 2023-02-07
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多