Нет ошибки прямого доступа к сценарию для задания Cron

Я использую cronjob для файла, который находится в application/controllers/Cron.php в cpanel.

/usr/local/bin/php -q
/home/user/public_html/domain.com/application/controllers/Cron.php

Но я получаю сообщение об ошибке «Прямой доступ к сценарию запрещен». Вот мой файл Cron.php.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
set_time_limit(0);
ignore_user_abort(1);
class Cron extends CI_Controller {
    public function __construct(){
        parent::__construct();
        $this->load->library('session');
        $this->load->database();
        $this->load->config('mainconfig');
    }
    public function index(){
$i=0;
foreach($this->db->query("select * from instagram")->result_array() as $b):
                            $id[$i] = $b["id"]; 
                            $i++;
                    endforeach;
                    for ($i=0;$i<count($id);$i++)
$this->db->query("update instagram set poin=4 where id='".$id[$i]."'");
    }
}

Может ли кто-нибудь найти меня, почему это происходит.


person Arshikh Khan    schedule 11.10.2017    source источник
comment
вот ваша проблема defined('BASEPATH') OR exit('No direct script access allowed'), что делает эта строка?   -  person madalinivascu    schedule 11.10.2017
comment
см. stackoverflow.com/a/26990302/4613398   -  person madalinivascu    schedule 11.10.2017
comment
может быть проще будет сделать wget на маршрут этого контроллера   -  person madalinivascu    schedule 11.10.2017
comment
вы также можете сократить свой код до обновленного выбора   -  person madalinivascu    schedule 11.10.2017


Ответы (1)


Вы вызываете скрипт напрямую, а не через контроллер, как обычный HTTP-запрос, вместо этого используйте запрос curl/wget для выполнения скрипта.

person Peter    schedule 12.10.2017