我正在为我的网站使用Codeigniter。我必须使用一个Cron作业来运行其中一个控制器功能。我在一个Cron作业中使用了所有这些选项,但都不起作用。第一个如果我把任何PHP文件放在主目录中,那么它就能正常工作。但不能为Codeigniter工作。
d4so4syb1#
我尝试了不同的选择,但无法弄清楚问题。但下面的方法解决了我的问题。在主目录中创建了一个文件。在这个文件中,我使用curl调用CodeIgniter URL。
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.website.com/call-desired-url'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_TIMEOUT, 900); $content = curl_exec($ch); curl_close($ch);
hts6caw32#
您可以在主目录中创建cron.php文件
<?php $argc = $_SERVER['argc']; $argv = $_SERVER['argv']; // INTERPRETING INPUT if ($argc > 1 && isset($argv[1])) { $_SERVER['PATH_INFO'] = $argv[1]; $_SERVER['REQUEST_URI'] = $argv[1]; } else { $_SERVER['PATH_INFO'] = '/crons/index'; $_SERVER['REQUEST_URI'] = '/crons/index'; } set_time_limit(0); require_once('index.php'); ?>
我在下面使用了cron
30 * * * * php /var/www/html/cron.php /controller/method
对我有用
2条答案
按热度按时间d4so4syb1#
我尝试了不同的选择,但无法弄清楚问题。但下面的方法解决了我的问题。
在主目录中创建了一个文件。在这个文件中,我使用curl调用CodeIgniter URL。
hts6caw32#
您可以在主目录中创建cron.php文件
我在下面使用了cron
对我有用