1

我遇到了一个奇怪的问题,我拥有的一些通过 ssh 连接到设备并抓取日志的代码不再显示数据,除非我通过包含调试语句强制它。

这是控制器中的代码:

public function logs()
{
    try {
        $data['logcontents'] = $this->device_model->get_logs($this->uri->segment(6), $this->uri->segment(3));
        var_dump($data['logcontents']);
        $data['Name'] = $this->uri->segment(5);
        $this->load->view('includes/template', $data);
    }
    catch (Exception $e) {
        show_error($e->getMessage());
    }   
}// end logs

这是视图中的逻辑:

<div class="container-fluid">
  <h2><?php echo $Name; ?> Logs</h2> 
          <div class="row-fluid">
            <div class="span12">
                <table class="table table-bordered">
                <thead>
                    <tr>
                          <th>Log Contents:</th>                        
                    </tr>
                </thead>
                <tbody>
                    <p>
                        <tr>                                        
                        <td><pre><?php print_r($logcontents) ?></pre></td>                                          
                        </tr>
                    </p>
                </tbody>
                </table>
            </div>

          </div><!--/row-->
</div>

如果我删除控制器方法中的 var_dump() 语句,Web 应用程序将只是坐在那里而不返回/显示任何内容。如果我包含它,我会转储数据,并且还会获得包含预期结果的表格。

至于如何解决这个问题,你能指出我正确的方向吗?谢谢。

4

1 回答 1

0

您是否尝试过循环打印值?

<?php foreach $logcontents as $log {?>
  <tr>
    <td><?=$log?></td>                                          
  </tr>
<?php } ?>
于 2014-10-01T20:58:19.793 回答