Я пытаюсь запустить код из CLI, как сказано в документации CI, но по какой-то причине, возможно, из-за использования расширения HMVC, он не входит в указанный контроллер.
Я не нашел дополнительной документации о выполнении CLI на сайте расширения HMVC.
Кто-нибудь знает, как с этим бороться?
Код здесь:
/**
* application/controllers/Cron.php
* This is just a wrapper controller to use an HMVC module using the basic CLI syntax for CI
*
*/
class Cron extends MX_Controller
{
public function generatepdfs($start_date = null, $end_date = null)
{
echo 'Not reached'; exit;
$this->load->module('facturation/documentscontroller');
$this->documentoscontroller->generatepdfs($start_date, $end_date);
}
}
Независимо от того, запускаю ли я это из корня документа:
php index.php cron generatepdfs
или это:
/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs
Он не будет отображать «Не достигнуто».
Это происходит, если я запускаю его из браузера.
Вот некоторые из ошибок, выводимых на консоль:
Не удалось найти указанный класс: Session.php
У меня есть переопределенная библиотека сеансов MY_Session в application/libraries/session/MY_Session.php, которая отлично работает в браузере. Если я перемещу этот файл на один каталог вверх, эта ошибка больше не будет отображаться в консоли, но она не будет работать в браузере. Он, кстати, автозагружается.
Обходной путь для этого мне совсем не нравится: копировать один и тот же файл в оба места.
Следующая ошибка:
Неустранимая ошибка PHP: класс CI_Preferencias не найден в /home/mysite/public_html/system/core/Common.php в строке 196
У меня есть пользовательская библиотека Preferencias, которая также загружается автоматически в application/libraries/Preferencias.php.
Опять же, это отлично работает в браузере. Однако из CLI кажется, что он ищет библиотеку CI_Preferencias, которой не существует. Если я переименую его в CI_Preferencias и автоматически загружу «CI_Preferencias», CI будет искать класс с именем CI_CI_Preferencias из CLI.
Я не уверен, что я что-то упускаю, или в CI есть реальная ошибка, или модуль HMVC с этим связывается.
Кто-нибудь может мне помочь?? Это сводит меня с ума, так как я должен использовать действия CLI, запланированные из cronjobs, и я чувствую себя совершенно потерянным.
application/modules/your_module_name/controllers/Cron.php
- person Mr. ED   schedule 02.04.2016class Cron extends MX_Controller
. Судя по вашему описаниюMY_Session
, это должно бытьMX_Controller
илиMY_Controller
? - person bishop   schedule 02.05.2016MX_Controller
выглядело как опечатка, судя поMY_Controller
. (X используется там, где ожидалось Y.) Однако похоже, что это преднамеренная цепочка наследования. - person bishop   schedule 02.05.2016