通过Cpanel的CodeIgniter Cron作业

通过Cpanel的CodeIgniter Cron作业,codeigniter,cron,Codeigniter,Cron,好的,我看了其他的每一个线程,已经完全完成了他们所做的,以及手册中所说的,我无法在我的一生中弄明白这一点。 cron作业的结果正在通过电子邮件发送到我的一封电子邮件中。它所做的只是打印出布局的html标记。。。和打印基本页内容。。。就好像它什么都没注册一样 php /home/jdstable/public_html/dev/index.php cron decrease_pets_stats 这是我的命令行。。我也尝试过用user/local/bin/php替换php,但没有成功。问题是,我

好的,我看了其他的每一个线程,已经完全完成了他们所做的,以及手册中所说的,我无法在我的一生中弄明白这一点。 cron作业的结果正在通过电子邮件发送到我的一封电子邮件中。它所做的只是打印出布局的html标记。。。和打印基本页内容。。。就好像它什么都没注册一样

php /home/jdstable/public_html/dev/index.php cron decrease_pets_stats
这是我的命令行。。我也尝试过用user/local/bin/php替换php,但没有成功。问题是,我有其他cron作业运行的程序性PHP代码可以很好地与PHP path/to/cron.PHP配合使用。。。但它对CI不起作用

我的控制器是Cron,我的方法是reduce\u pets\u stats

//decrease pets stats
public function decrease_pets_stats() {
$this->load->model('Cron_model', 'cron');
    $this->cron->decrease_pets_stats();
    echo 'Decreased pet stats';
}
以下是该方法的逻辑:

//decrease pets stats
//runs every hour
public function decrease_pets_stats() {
    $this->db->set('hunger', 'hunger - 5');
    $this->db->set('happiness', 'happiness - 5');
    $this->db->set('loyalty', 'loyalty - 5');
    $this->db->update('user_creature');
}
有人知道为什么只是打印布局标记吗?我的构造函数如下所示:

public function __construct() {
        parent::__construct();
        if( ! $this->input->is_cli_request()) show_error('Direct access is not allowed');

        $this->load->model('Cron_model', 'cron');
    }
我的父构造函数包含了很多东西(加载帮助程序和库,以及在登录时在每个页面上显示用户信息)

在打开控制器Cron类之前,它是否位于控制器的顶部有关系

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

您正在使用的默认PHP安装可能编译为CGI-FCGI,而不是用于CLI。这取决于您的主机和/或服务器,但您需要在命令行界面中搜索PHP安装,然后在cron作业中使用它。我在Hostmonster上遇到了完全相同的问题,我的cron命令最终是:

/ramdisk/bin/php5-cli ~/public_html/sitefolder/index.php controller method

对我来说,我需要的PHP位于
/ramdisk/bin/php5 cli

中。您使用的默认PHP安装可能被编译为CGI-FCGI,而不是cli。这取决于您的主机和/或服务器,但您需要在命令行界面中搜索您的PHP安装,然后在cron作业中使用它。在Hostmonster,我的cron命令是:

/ramdisk/bin/php5-cli ~/public_html/sitefolder/index.php controller method

对我来说,我需要的PHP位于
/ramdisk/bin/php5 cli

/usr/local/bin/PHP/home/jdstable/public\u html/dev/index.PHP cron\u pets\u stats中


这就解决了它。

/usr/local/bin/php/home/jdstable/public\u html/dev/index.php cron-reduce\u pets\u stats


这解决了它。

也有同样的问题,在尝试了我能做的任何事情后,显而易见的事情起了作用。。。
/usr/local/bin/php/absolute/path/to/index.php cron

也有同样的问题,在尝试了所有我能做的事情后,这个明显的工作成功了。。。
/用于CodeIgniter 2.2.0的usr/local/bin/php/absolute/path/to/index.php cron

您可以尝试以下两种方法:

  • php cli/home/username/public\u html/index.php控制器方法
  • wgethttp://www.example.com/controller/method
  • 还是看你的情况

  • php cli/home/username/public\u html/index.php Cron-decrease\u pets\u stats
  • wgethttp://www.example.com/Cron/decrease_pets_stats
  • 这对我很管用。。
    为CodeIgniter 2.2.0干杯

    您可以尝试以下两种方法:

  • php cli/home/username/public\u html/index.php控制器方法
  • wgethttp://www.example.com/controller/method
  • 还是看你的情况

  • php cli/home/username/public\u html/index.php Cron-decrease\u pets\u stats
  • wgethttp://www.example.com/Cron/decrease_pets_stats
  • 这对我很管用。。
    干杯!

    这是您首先需要从phpinfo文档根文件名中查找路径的解决方案


    php5/home/abc/public\u html/index.php folder\u name controller函数

    这是一个解决方案,您首先需要从phpinfo文档的根文件名中查找路径


    php5/home/abc/public_html/index.php folder_name controller函数

    2.对我不起作用为什么我使用此wget,我按薄荷设置,但没有被解雇为什么我做错了2.对我不起作用为什么我使用此wget,我按薄荷设置,但没有被解雇为什么我做错了