在远程服务器上没有问题,但在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.
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。