【问题标题】:Why headers sent error occur in action in controller in yii2? [duplicate]为什么在 yii2 的控制器中发生标头发送错误? [复制]
【发布时间】:2018-09-10 04:50:39
【问题描述】:

有一个错误说,headers 已经发送,表明 print_r 发生了错误,但是在教程中 print_r 的数组出现在网页顶部的导航栏之前

class PostController extends AppController
{
    public function actionTest()
    {
        $names = ['Ivanov', 'Petrov', 'Sidorov'];

        print_r($names);

        return $this->render('test');
    }

}

【问题讨论】:

  • 您正尝试在标头重定向之前输出一些数据。这就是问题的原因。删除print_r($names);,你会很高兴
  • 无论何时您想要检查/打印您的数据(用于测试目的),您都应该在渲染视图之前输入die();
  • @Gru die() 会破坏框架流程 - 你应该首先避免使用 echo/print_r
  • 如果我必须检查arraydata 我会检查print_r(); 然后return; 下一行。

标签: php controller yii2 action


【解决方案1】:

在返回之前,你不应该使用 echo、print_r 或 var_dump 输出值

class PostController extends AppController
{
  public function actionTest()
  {
    $names = ['Ivanov', 'Petrov', 'Sidorov'];


    return $this->render('test');
  }

}

在你的情况下删除print_r($names);

【讨论】:

    猜你喜欢
    • 2016-04-10
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2021-12-17
    相关资源
    最近更新 更多