如何在xampp中关闭通知报告?

qad*_*nza 1 php xampp

在远程服务器上没有问题,但在localhost(xampp 3.1.)中,我无法关闭报告通知.

<?php
$Fname = $_POST["Fname"];
...
Run Code Online (Sandbox Code Playgroud)

结果:

Notice: Undefined index: Fname in D:\xampp\htdocs\xx\php01\form01.php on line 6
Run Code Online (Sandbox Code Playgroud)

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 ?
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

Noo*_*oor 10

将此代码写入文件的开头.

ini_set('display_errors', 0);
error_reporting(E_ERROR | E_WARNING | E_PARSE); 
Run Code Online (Sandbox Code Playgroud)

EDIT1

如果你不想用上面的纹路,那么你必须写@之前$_POST打压通知,像

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

编辑2

虽然它的编程习惯不好,但这条线error_reporting = E_ALL & ~E_NOTICE也会改变display_errors = Off.

  • 你的`php.ini`文件带有这个代码`error_reporting = E_ALL&~E_NOTICE`绝对可以解决问题.不知道为什么它不和你合作.你在使用任何框架/ CMS可能在那里`error_reporting`再次设置为true (2认同)

Oli*_*erH 1

phpinfo();尝试在你的台词之前做一个$Fname = $_POST["Fname"];。error_reporting 属性值是多少?请参阅以了解表中显示的值。

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

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