仅当我使用var_dump或echo时才设置变量,而不使用调试器断点

时间:2018-08-18 07:57:30

标签: php codeigniter xdebug

所以我从php代码中得到了这种奇怪的行为。

public function index() {
  $interval = (int)('60');
  // echo $interval;
  // If I uncomment and put a breakpoint above, 
  // I can see the variable $interval value in my debugger.
  // But without an 'echo' or 'var_dump' statement, 
  // value is not getting set in $interval.
  die;
}

当我使用'echo'或'var_dump'将$ interval变量写入输出流时,$ interval变量正确显示并得到设置。 但是,如果我在间隔初始化后使用调试器中断执行,而不是未设置写入输出流变量,则无法设置。

下面是调试器的屏幕截图。

这有效!

This works!

这不可以!

This does not!

有人知道为什么这种奇怪的行为吗?如果我在单独的php文件中运行此文件,则没有问题。问题仅存在于Codeigniter实例内部。

PHP版本:7.2.8
Codeigniter:3.1.5

1 个答案:

答案 0 :(得分:0)

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); // call the function
?>