如何在Cron作业中设置基于Codeigniter的url?

bis0qfac  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(177)

我正在为我的网站使用Codeigniter。我必须使用一个Cron作业来运行其中一个控制器功能。我在一个Cron作业中使用了所有这些选项,但都不起作用。
第一个
如果我把任何PHP文件放在主目录中,那么它就能正常工作。但不能为Codeigniter工作。

d4so4syb

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);
hts6caw3

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

对我有用

相关问题