【发布时间】:2012-01-27 02:13:06
【问题描述】:
在我的 xampp 中,当我调用不带引号的函数时,它会返回以下错误 ($_SERVER[SERVER_NAME])
Notice: Use of undefined constant SERVER_NAME - assumed 'SERVER_NAME'
我必须在 php.ini 中更改什么来纠正这个问题?
谢谢
更新: :) 当然我知道,如果我添加引号,它会起作用,但我需要配置服务器以在没有引号的情况下工作。
我清楚地说明了我的问题。在我的服务器中,如果我不使用引号,它不会返回任何警告和错误。它取决于 xampp 版本。现在我在我的本地机器上安装了更新版本的 xampp,它显示了通知,所以我不能使用我最后的项目,因为有很多通知。 (即使我使用我定义的变量,它也会返回这样的通知,例如$myVariable[myItem])。
我可以使用
error_reporting(0)
但这会隐藏所有错误。所以我只需要为我的服务器指定新规则,或者使用旧版本。
那么,为什么投反对票?
【问题讨论】:
-
常量的存在是有原因的,当您引用尚未定义的常量时,PHP 会告诉您这一事实是一件好事。它有助于防止拼写错误等,因此您可以及早发现错误。您基本上是在试图告诉您的服务器忽略 PHP 的正确响应。另一种方法是将它们定义为常量或将错误报告设置为忽略通知。
-
没有键引号的语法只在双引号字符串上下文中有效。
-
我会说它总是有效的,考虑到它是 php 的一个特性。一个容易出错的功能,但肯定是一个功能。否则未定义的常量就像一个未定义的变量,类型为 null。不是。