Хостерский Cron Daemon выдаёт предупреждение

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Че то не так

#1 30 декабря 2016 в 10:39
Сообщение на картинке.
В сам файл модел.пхп я не залазил и вообще никуда не залазил
Заметил, что это появилось когда сделал таблицу, у которой действительно не было поля id. Но таблицу уже удалил, а сообщения всё идут, так что возможно не в этом дело.
Прикрепленный файл
Cron_ha0rj.png 9 Кб
#2 30 декабря 2016 в 15:18
Ну так откройте model.php и посмотрите на строчке1392, что там:

  1. 1390 while($item = $this->db->fetchAssoc($result)){
  2. 1391
  3. 1392 $key = $key_field ? $item[$key_field] : false;
  4. ....}
В цикле перебираются поля таблицы, которая была получена из базы выше по коду. Если таблица удалена, как вы говорите, то цикл просто не начнется. Скорее всего, эта таблица так и торчит у вас в базе.

Еще посмотрите задачи крон в админке. Возможно задачу, которая model.php вызывала, вы не выключили
#3 30 декабря 2016 в 17:19


Ну так откройте model.php и посмотрите на строчке1392, что там:

  1. 1390 while($item = $this->db->fetchAssoc($result)){
  2. 1391
  3. 1392 $key = $key_field ? $item[$key_field] : false;
  4. ....}
В цикле перебираются поля таблицы, которая была получена из базы выше по коду. Если таблица удалена, как вы говорите, то цикл просто не начнется. Скорее всего, эта таблица так и торчит у вас в базе.

Еще посмотрите задачи крон в админке. Возможно задачу, которая model.php вызывала, вы не выключили

Странник

Таблица удалена, пол часа назад опять пришли предупреждения.
Из задач включены только те, которые из коробки.
#4 30 декабря 2016 в 17:33
Значит, приглашайте спеца к себе на хостинг и на сайт. Надо своими глазами увидеть, что у вас там наворочено))
#5 30 декабря 2016 в 20:26


Значит, приглашайте спеца к себе на хостинг и на сайт. Надо своими глазами увидеть, что у вас там наворочено))

Странник

Вручную из админки прогнал все задачи — предупреждений не поступило. Стало быть ошибка как-то связана с файлом Cron.php. В него я тоже не лазил.
#6 30 декабря 2016 в 23:37

ошибка как-то связана

termobudka
Вот именно. Не видя кода и ваших настроек — остается гадать на кофейной гуще)))
#7 2 января 2017 в 19:41
Предупреждения всё идут и идут. Настройки крона из коробки. Никуда не лазил.
#8 3 января 2017 в 02:06

Вот именно. Не видя кода и ваших настроек — остается гадать на кофейной гуще)))

Странник

Вот крон
  1.  
  2.  
  3. <?php
  4.  
  5. // некоторые задачи требуют безлимитного времени выполнения, в cli это по умолчанию
  6. // задача для CRON выглядит примерно так: php -f /path_to_site/cron.php
  7. // Если планируете запускать задачи CRON через curl или иные http запросы, закомментируйте строку ниже
  8. if(PHP_SAPI != 'cli') { die('Access denied'); }
  9.  
  10. $_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);
  11.  
  12. // Инициализация
  13. require_once "bootstrap.php";
  14.  
  15. // Подключаем шаблонизатор, чтобы был подключен хелпер с функциями
  16. cmsTemplate::getInstance();
  17.  
  18. // Подключение модели
  19. $model = cmsCore::getModel('admin');
  20.  
  21. // Получение списка задач для выполнения
  22. $tasks = $model->getPendingSchedulerTasks();
  23.  
  24. // Если задач нет, выходим
  25. if (!$tasks) { exit; }
  26.  
  27. // Коллекция контроллеров
  28. $controllers = array();
  29.  
  30. //
  31. // Выполняем задачи по списку
  32. //
  33. foreach($tasks as $task){
  34.  
  35. // Проверяем существование контроллера
  36. if (!cmsCore::isControllerExists($task['controller'])){ continue; }
  37.  
  38. // Получаем контроллер из коллекции либо загружаем
  39. // и сохраняем в коллекцию
  40. if (isset($controllers[$task['controller']])){
  41.  
  42. $controller = $controllers[$task['controller']];
  43.  
  44. } else {
  45.  
  46. $controller = cmsCore::getController($task['controller']);
  47.  
  48. if(!$controller->isEnabled()){
  49. unset($controller); continue;
  50. }
  51.  
  52. $controllers[$task['controller']] = $controller;
  53.  
  54. }
  55.  
  56. // Выполняем хук
  57. $controller->runHook("cron_{$task['hook']}");
  58.  
  59. // Обновляем время последнего запуска задачи
  60. $model->updateSchedulerTaskDate($task['id']);
  61.  
  62. }
  63.  
  64.  
Вот модел.пхп

  1. <?php
  2. class cmsModel{
  3.  
  4. public $name;
  5.  
  6. public $db;
  7.  
  8. //условия для выборок
  9. public $table = '';
  10. public $select = array('i.*');
  11. public $distinct = '';
  12. public $straight_join = '';
  13. public $join = '';
  14. public $where = '';
  15. public $where_separator = 'AND';
  16. public $group_by = '';
  17. public $order_by = '';
  18. public $index_action = '';
  19. public $limit = 1000;
  20. public $perpage = 50;
  21.  
  22. public $keep_filters = false;
  23. public $filter_on = false;
  24.  
  25. protected $privacy_filter_disabled = false;
  26. protected $privacy_filtered = false;
  27. protected $approved_filter_disabled = false;
  28. protected $approved_filtered = false;
  29.  
  30. protected static $cached = array();
  31.  
  32. private $cache_key = false;
  33.  
  34. public function __construct(){
  35.  
  36. $this->name = str_replace('model_', '', get_called_class());
  37.  
  38. $this->db = cmsCore::getInstance()->db;
  39.  
  40. }
  41.  
  42. //============================================================================//
  43. //============================================================================//
  44.  
  45. public function useCache($key){
  46. $this->cache_key = $key; return $this;
  47. }
  48.  
  49. protected function stopCache(){
  50. $this->cache_key = false; return $this;
  51. }
  52.  
  53. //============================================================================//
  54. //============================================================================//
  55.  
  56. public function getContentTableStruct(){
  57.  
  58. return array(
  59. 'id' => array('type' => 'primary'),
  60. 'title' => array('type' => 'varchar', 'size' => 100, 'fulltext' => true),
  61. 'content' => array('type' => 'text'),
  62. 'photo' => array('type' => 'text'),
  63. 'slug' => array('type' => 'varchar', 'index' => true, 'size' => 100),
  64. 'seo_keys' => array('type' => 'varchar', 'size' => 256),
  65. 'seo_desc' => array('type' => 'varchar', 'size' => 256),
  66. 'seo_title' => array('type' => 'varchar', 'size' => 256),
  67. 'tags' => array('type' => 'varchar', 'size' => 1000),
  68. 'date_pub' => array('type' => 'timestamp', 'index' => array('date_pub','parent_id', 'user_id'), 'composite_index' => array(3,2,1), 'default_current' => true),
  69. 'date_last_modified' => array('type' => 'timestamp'),
  70. 'date_pub_end' => array('type' => 'timestamp', 'index' => true),
  71. 'is_pub' => array('type' => 'bool', 'index' => 'date_pub', 'composite_index' => 0, 'default' => 1),
  72. 'hits_count' => array('type' => 'int', 'default' => 0, 'unsigned' => true),
  73. 'user_id' => array('type' => 'int', 'index' => 'user_id', 'composite_index' => 0, 'unsigned' => true),
  74. 'parent_id' => array('type' => 'int', 'index' => 'parent_id', 'composite_index' => 0, 'unsigned' => true),
  75. 'parent_type' => array('type' => 'varchar', 'size' => 32, 'index' => 'parent_id', 'composite_index' => 1),
  76. 'parent_title' => array('type' => 'varchar', 'size' => 100),
  77. 'parent_url' => array('type' => 'varchar', 'size' => 255),
  78. 'is_parent_hidden' => array('type' => 'bool', 'index' => 'date_pub', 'composite_index' => 1),
  79. 'category_id' => array('type' => 'int', 'index' => true, 'default' => 1, 'unsigned' => true),
  80. 'folder_id' => array('type' => 'int', 'index' => true, 'unsigned' => true),
  81. 'is_comments_on' => array('type' => 'bool', 'default' => 1),
  82. 'comments' => array('type' => 'int', 'default' => 0, 'unsigned' => true),
  83. 'rating' => array('type' => 'int', 'default' => 0),
  84. 'is_approved' => ar
#9 3 января 2017 в 05:58
Следствие установило, что сабжектовое предупреждение вызывает задача-"Создание карты сайта". Причем при отключении в компоненте Генератор карты сайта паратметра — Источники ссылок Контент: Страницы (поставляется из коробки) предупреждение пропадает. Таким образом круг подозреваемых сужается — задача "Создание карты сайта" при включенном параметре Источники ссылок Контент: Страницы. Далее необходимы дополнительные следственные действия.
#10 3 января 2017 в 06:56
termobudka, модель удалите тут на форуме, зачем столько мусора, нужно то всего лишь пару строчек от той, на которую ругаются.

Предупреждение фигня, просто не определенная переменная типа проверяется, нужно добавлять типа isset, все ж что-то не прибегает в полном наборе, раз на индекс ругается.
#11 3 января 2017 в 17:07

модель удалите тут на форуме, зачем столько мусора, нужно то всего лишь пару строчек от той, на которую ругаются.

kirkr
Товарищ выше просил код посмотреть — я ему показываю.
#12 3 января 2017 в 17:11

Предупреждение фигня, просто не определенная переменная типа проверяется, нужно добавлять типа isset, все ж что-то не прибегает в полном наборе, раз на индекс ругается.

kirkr
Это понятно. Непонятно по какой причине.
#13 3 января 2017 в 17:22

Это понятно. Непонятно по какой причине.

termobudka

остается дампить переменные которые в той строке, от них увидите что именно не передает, далее в тот компонент идти и смотреть какие условия выполняются и почему пусто отдается. Только так.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.