如何在 xampp 中关闭通知报告


How to turn off notice reporting in xampp?

在远程服务器上没有问题,但是在本地主机(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 ?

有什么建议吗?

在文件的开头编写此代码。

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

编辑1

如果您不想使用上面的行,则必须在$_POST之前写@以抑制通知,例如

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

编辑 2

有了这条线,error_reporting = E_ALL & ~E_NOTICE也改变了display_errors = Off尽管它的编程实践很糟糕。

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

尝试在

$Fname = $_POST["Fname"];行之前做一个phpinfo();。属性值error_reporting是多少?请参阅此或此内容以了解表中显示的值。

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

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

解决此问题的最简单方法如下:1. 关闭 Apache 服务器2. 转到 c:''xampp''php''3. 将 php.ini 重命名为 php.ini.bak4. 将 php.ini-production 重命名为 php.ini5. 再次打开服务器。

它有一个缺陷,它将所有内容恢复到生产模式。 但是您始终可以撤消此操作。

记得在 php 中取消注释error_reporting.ini删除"error_reporting"前面的";"。

这真的浪费了我在这里的时间