dqzlqfqeh845799833 2019-02-28 15:18 采纳率: 0%
浏览 439
已采纳

使用未定义的常量PHP ver 7.2

It looks like there are quite some posts on this topic, however this case seems to be different.

In PHP version greater than or equal to 7.2 the following code:

if (!empty($_GET['rxdebug']) || AH_DEBUG){
    define(AH_DEBUG_MODE, true);
}else{
    define(AH_DEBUG_MODE, false);
}

Will throw an error on second define line define(AH_DEBUG_MODE, false);

Use of undefined constant AH_DEBUG_MODE- assumed 'AH_DEBUG_MODE' (this will throw an Error in a future version of PHP) in some-file.php on line xxx

Basically the first define is accepted, the second one no....Isn't the code processed one time only? Or does a sort of pre-processor run beforehand throwing the error as if the constant is defined twice?

  • 写回答

2条回答 默认 最新

  • dtp87205 2019-02-28 15:19
    关注

    Should be:

    define('AH_DEBUG_MODE', true);
    

    Having: define(AH_DEBUG_MODE, true) you force PHP to evaluate the value of a constant AH_DEBUG_MODE which is obviously not defined yet.

    Your code can be simplified to:

    define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂