首页 文章

在codeigniter中放置cron作业的位置

提问于
浏览
0

我有4个cron作业要执行 . 当然,文件文件位于应用程序之外 . 我想将它们组织在一个文件夹中 .

cron1.php代码如下

$argc = $_SERVER['argc'];
$argv = $_SERVER['argv'];
// INTERPRETTING INPUT
if ($argc > 1 && isset($argv[1])) {
$_SERVER['PATH_INFO']   = $argv[1];
$_SERVER['REQUEST_URI'] = $argv[1];
} else {
$_SERVER['PATH_INFO']   = '/cron/clearuserloghistory';
$_SERVER['REQUEST_URI'] = '/cron/clearuserloghistory';
}
require_once("index.php");

情况1:从浏览器调用时执行cron作业

root -application / -index.php -css / -js / -cron1.php -cron2.php

案例2:我想要的如下:

root application / -index.php -css / -js / -crons / -cron1.php -cron2.php

我尝试将以上文件放在一个名为crons的文件夹中,该文件夹位于root(CASE 2)中的应用程序之外,代码更改如下 .

require_once("../index.php");

执行cron文件作为案例2位置返回错误 .

您的系统文件夹路径似乎未正确设置 . 请打开以下文件并更正:index.php

请建议一个正确的位置,在crons文件夹中包含cronfiles . 提前致谢 .

1 回答

  • 0

    创建一个新的Controller,并将其命名为Cron.php,同时确保使用Core CI_Controller扩展它,而不是使函数执行任何您想要的操作,并像任何其他函数一样访问它,现在为它创建一个cron作业 .

    对于cron选项卡的安全性,不要在会话或权限检查中放入任何内容,只需在函数中放入一个get变量并在函数中清除它的值,并在访问它时将值放在url中 . 这样只有你才能知道这个问题,如果有人想访问cron控制器,它会自动将它们重定向到你的登录名或者你想让他们重定向的地方 .

    我希望它会对你有所帮助

相关问题