在远程服务器上没有问题,但在localhost(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 ?
有什么建议吗?
答案 0 :(得分:9)
将此代码写入文件的开头。
ini_set('display_errors', 0);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
<强> EDIT1 强>
如果你不想使用上面的行,那么你必须在@
之前写$_POST
来压制通知,比如
$Fname = @$_POST["Fname"];
修改2
使用此行error_reporting = E_ALL & ~E_NOTICE
也会更改display_errors = Off
,尽管其编程操作不当。
答案 1 :(得分:2)
如果您正在运行XAMPP并想要关闭通知(或其他功能):
1.确保编辑正确的INI文件(从控制面板中选择配置)
2.将display_errors =打开
3.转动error_reporting = E_ALL&amp; ~E_NOTICE(这只会抑制通知错误)
4. 重要 - 确保XAMPP未在文件的下方覆盖您的设置(请阅读第一组设置上方的通知)
5.保存文件后停止并启动Apache
答案 2 :(得分:1)
尝试在phpinfo();
行之前执行$Fname = $_POST["Fname"];
。 error_reporting属性值是什么?请参阅this或this以了解表格中显示的值。
如果不是您的预期,请检查该属性是否未被php更改。
你也可能编辑了错误的php.ini文件:XAMPP倾向于复制原始的php.ini文件并创建自己的文件。使用phpinfo();
,在表中搜索“php.ini”字符串:您将找到所使用的php.ini文件的路径。
最后一件事,也许问题是你在更改php.ini文件后没有正确重启apache。问题是xamp是apache服务的一个独特过程。关闭XAMP不会使apache服务停止,你最好使用XAMPP控制面板来停止/启动apache。
答案 3 :(得分:1)
解决此问题的最简单方法如下: 1.关闭Apache服务器 2.转到c:\ xampp \ php \ 3.将php.ini重命名为php.ini.bak 4.将php.ini-production重命名为php.ini 5.再次打开服务器。
它有一个缺陷,它将一切都恢复到生产模式。但你总能撤消这个。
答案 4 :(得分:1)
通过删除“;”来记住取消注释php.ini中的error_reporting。在“错误报告”之前。
这真的浪费了我的时间