【问题标题】:Codeigniter CLI not loading multiple viewsCodeigniter CLI 不加载多个视图
【发布时间】:2013-03-18 02:53:16
【问题描述】:

我正在尝试使用 codeigniter 通过 cron 作业运行每周电子邮件更新。如果我在浏览器中检查它一切正常,但是当我通过命令行运行它时,它会通过循环一次,然后在将 $message 变量设置为视图时死掉。

日志没有显示任何有用的东西

日志信息

DEBUG - 2013-03-27 20:26:35 --> Email Class Initialized
DEBUG - 2013-03-27 20:26:35 --> File loaded: /email_templates/weekly_user_update.php
DEBUG - 2013-03-27 20:26:36 --> Language file loaded: language/english/email_lang.php

有问题的代码

public function weekly_update(){

      $this->load->model('statistics_model','stats');
      $this->load->library('email');
      $config['mailtype'] = "html";
      $this->email->initialize($config);

      $users = $this->stats->get_product_users();

      echo "Found ".count($users)." user(s).==".PHP_EOL;
      echo "--Beginning User Parse--".PHP_EOL;
      $count= 0;
      foreach($users as $user){
        echo " Parsing User ".$user['first_name']." ".$user['last_name']."[".$user['user_id']."]".PHP_EOL;
        $this->email->to($user['email']);
        $subject = "Weekly Updates for ".date('m/d/Y');
        $this->email->subject($subject);

        $message = $this->load->view('email_templates/weekly_user_update',$data,TRUE);

          $this->email->message($message);
          echo "  Sending Message to ".$user['email']." '".$subject."'".PHP_EOL;
          $this->email->send();

          echo "  Weekly Update Sent to {$to}!".PHP_EOL;

          $this->email->clear();


    }
}

请帮助它让我发疯!

【问题讨论】:

    标签: php codeigniter command-line command-line-interface multiple-views


    【解决方案1】:

    $data 似乎没有在此函数中的任何位置设置,所以我猜它依赖于会话或 MY_Controller 中的某些东西来填充它——CLI 不提供这一点

    如果不查看其余代码,则无法准确告诉您,但您应该能够从中跟踪它

    【讨论】:

    • $data 实际上已经设置好了,我只是从这篇文章中删除了那部分代码,因为它包含一些敏感信息。
    • 那么你的 $users = 区域也有类似的问题。停止查看代码并考虑您的程序 - 它的哪些部分从该函数之外获取可能依赖于会话或类似的信息。请发布所有相关代码;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2014-10-18
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多