【发布时间】:2014-07-26 15:46:14
【问题描述】:
我有这一行要执行
$action = $_REQUEST['action'];
收到通知
Notice: Undefined index action ....
然后我在那之前写了这些行
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', '0');
Notices 消失了。然后我再次在这两行上方注释掉然后没有出现通知
我的问题是,error_reporting 是否设置了E_ALL。以及其他,用于该特定网站或页面或服务器?
【问题讨论】:
-
也许
$_REQUEST['action']是第二次定义的?反正应该是$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null; -
如果您将其放在顶部,我相信它适用于该特定页面。如果要全局更改它,最好在 .htaccess 文件中这样做。另一方面,绕过该通知的方法是使用 isset()。
-
在脚本中调用
error_reporting和ini_set()ONLY 影响该脚本,并且仅影响调用之后的代码。它们不会使您更改的设置永久化,也不会影响服务器的其余部分。 -
@MarcB 为什么我评论这些行并再次访问该页面,通知仍然没有显示......
标签: php