首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP7未定义类常量触发php7 7:注意

PHP7未定义类常量触发php7 7:注意
EN

Stack Overflow用户
提问于 2020-02-16 20:21:17
回答 2查看 469关注 0票数 0

我在代码中重命名了一些常量,在发布到生产时,我在apache日志中得到了以下消息:

代码语言:javascript
复制
[Sun Feb 16 19:56:29.437393 2020] [php7:notice] [pid 15948] [client 10.0.1.10:24984] Undefined class constant 'SUBMIT_STA_', referer: https://xxxx.yyyy.com/runtest/QuestionDisplayer

之后没有,以前也没有。有很多事情我不明白:

  • :一个未定义的类常量如何触发一个通知而不是一个致命的错误?为什么
  • 不提供更多关于错误在代码中出现的位置的信息(比如脚本和行号)?显然,当我查看我的代码时,我没有找到SUBMIT_STA_的任何实例,我找到了一些SUBMIT_STA_XX或SUBMIT_STA_YY,但是没有在.

之后没有任何东西。

EN

回答 2

Stack Overflow用户

发布于 2020-02-16 20:39:03

如果一个常量不存在,它将把常量名称当作字符串,

通常情况下,您会编写一个字符串并忘记引号,所以对于PHP来说,它是一个常量,而不是一个字符串,但是由于没有该名称的常量,所以在执行代码时,它会将其转换为字符串和标记。

因此,您希望在代码中查找字符串SUBMIT_STA_,其中缺少引号(如果应该是变量,则查找$符号)。

票数 0
EN

Stack Overflow用户

发布于 2020-02-17 08:40:59

很抱歉我把它解决了。我终于找到了我使用这个不存在常量的地方。它触发此不寻常消息的原因是因为它位于try / catch(Throwable $e)处理程序中,在这种情况下屏幕上不显示错误,Apache记录php7 7:注意消息。我已经复制了这种行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60252846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档