我在代码中重命名了一些常量,在发布到生产时,我在apache日志中得到了以下消息:
[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之后没有,以前也没有。有很多事情我不明白:
之后没有任何东西。
发布于 2020-02-16 20:39:03
如果一个常量不存在,它将把常量名称当作字符串,
通常情况下,您会编写一个字符串并忘记引号,所以对于PHP来说,它是一个常量,而不是一个字符串,但是由于没有该名称的常量,所以在执行代码时,它会将其转换为字符串和标记。
因此,您希望在代码中查找字符串SUBMIT_STA_,其中缺少引号(如果应该是变量,则查找$符号)。
发布于 2020-02-17 08:40:59
很抱歉我把它解决了。我终于找到了我使用这个不存在常量的地方。它触发此不寻常消息的原因是因为它位于try / catch(Throwable $e)处理程序中,在这种情况下屏幕上不显示错误,Apache记录php7 7:注意消息。我已经复制了这种行为。
https://stackoverflow.com/questions/60252846
复制相似问题