1

codeigniter を使用して、cron ジョブを介して毎週の電子メール更新を実行しようとしています。ブラウザでチェックするとすべて正常に動作しますが、コマンド ラインで実行すると、ループを 1 回通過し、$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();


    }
}

気が狂ってしまうので助けてください!

4

1 に答える 1

0

$data はこの関数のどこにも設定されていないようです。そのため、セッションまたは MY_Controller の何かに依存してデータを入力していると推測しています-これは CLI からは利用できません

コードの残りの部分を見ないと正確にわかりませんが、そこから追跡できるはずです

于 2013-03-28T08:47:35.030 に答える