codeigniter cronjob在代码点火器中使用cpanel

klr1opcd  于 2023-03-16  发布在  其他
关注(0)|答案(5)|浏览(186)

我的网站托管服务器是hostmonster.com。
我的应用程序使用codeigniter框架。
我有一个代码发送电子邮件给我的用户,我想让它自动。
我使用了托管服务的cpanel,并尝试将命令指定为

php -q www.mysite.com/admin admin sendDailyEmail

我的控制器是admin,方法是sendDailyEmail,控制器位于application/controllers/admin文件夹中。
我还设置了一个提醒电子邮件给我,每当cronjob运行。
电子邮件主题为
Cron php -q /用户名/public_html/admin管理员发送每日电子邮件
身体说
未指定输入文件
我哪里做错了。
我从来没有运行过cronjobs,这是我的第一次。我也不擅长给命令行安装。
我的管理员sendDailyEmail代码如下

function sendDailyEmail() {
    $data = $this->admin_model->getDailyData();
    foreach ($data as $u) {
    if($u->Daily){
     //if(!$u->Amount){
       if ($u->Email=='myemail@gmail.com') {

                $user['user_data']['FirstName'] = $u->FirstName;
                $user['user_data']['LastName'] = $u->LastName;
                $user['user_data']['Id']=$u->Id;

                $this->email->clear();
                $this->email->to($u->Email);
                $this->email->from('alerts@mysite.com', 'MySite');
                $this->email->subject("My Subject");
                $msg = $this->load->view('emails/daily_view', $user, true);
                $this->email->message($msg);
                if ($this->email->send())
                    $data['message'] = "Daily Emails has been sent successfully";
                else
                    $data['message'] = "Daily Emails Sending Failed";
            }
        }
    }
    $data['main_content']['next_view'] = 'admin_home_view';
    $this->load->view('includes/admin_template', $data);
}
gjmwrych

gjmwrych1#

您可以使用wget并根据需要设置时间:

wget http://www.mysite.com/admin/sendDailyEmail

您也可以使用curl

curl --silent http://www.mysite.com/admin/sendDailyEmail
scyqe7ek

scyqe7ek2#

用于代码点火器2.2.0

你可以试试这个:

php-cli /home/username/public_html/index.php controller method

或者你的案子

php-cli /home/username/public_html/index.php admin sendDailyEmail

对我来说很好..干杯!

eivgtgni

eivgtgni3#

Codeigniter为运行cron等设置不同的命令行。
读取:http://www.codeigniter.com/user_guide/general/cli.html
因此,您应该运行:

php index.php admin admin sendDailyEmail

(that可能需要调整;基于上面的代码)
看看我刚刚写的一篇文章,它对这一切进行了更深入的探讨:
http://codebyjeff.com/blog/2013/10/setting-environment-vars-for-codeigniter-commandline

elcex8rz

elcex8rz4#

我也遇到过同样的问题,但是接下来的工作对我来说

wget http://www.yoursite.com/controller/function
6vl6ewon

6vl6ewon5#

下面是使用Codeigniter 3框架在cpanel上执行cron作业的示例:

/usr/local/bin/php /home/user/public_html/project/index.php controller method

制作人:Shinerweb youtube频道https://www.youtube.com/watch?v=Pgc2vzrlwok

相关问题