Приветствую! Заимел проблему соединения некоторых модулей с сервером. Сначала модуль 1с перестал авторизироваться. Отключил, включил - заработал. Затем модуль ocSeo перестал выполнять свои функции. Отключил, а вот обратно включить не могу. Решил его удалить и загрузить заново, но загрузчик пишет что не может соединиться с сервером. Если один модуль "конектится", то не "конектится" другой!
Возможно. Как проверить то? Я просто не могу понять "суть" проблемы. Как связаны модуль 1с и модуль ocSeo. Единственное у них достаточно заморочоенная система - сначала скачать загрузчик, и через него уже качается модуль. Сам модуль получается работает напрямую с движкой, а вот загрузчик соединяется с какими то внешними серверами.
1)Установил модуль ocSeo, настроил, порадовался! 2)Решил выложить модельный ряд товара. Внёс позиции в номенклатуру, начал выгружать - Не удалось установить соединение. 3)Отключил модуль 1с, включил заново - соединение установилось. Но пришлось очистить сайт от продуктов и залить их снова. Сделал! 4)Полез в ocSeo, чтобы сгенерировать url, а оно не работает. Генерирует но на сайте ничего не происходит! 5)Начал чесать репу и пробовать всякие варианты. Удалил модуль, попытался загрузить снова, но загрузчик выдаёт ошибку соединения. Включил, выключил - заработал! Но теперь 1с на конектится. В итоге заметил что если что то одно не работает, то другое не хочет. И если то, что не работает выключить и включить, то оно заработает но то что работало перестанет.
В менеджере дополнений у меня всего 2 дополнения - ocSeo и загрузчик. Жму сброс - начинает работать 1с но пропадают урлы. Жму обновить - появляются урлы, но перестаёт работать 1с. И вот не пойму где конфликт.
надеюсь понимаете что модуль это не только менеджер дополнений или Модификаторы? (как же сложно оперировать терминами когда у человека другой перевод) конфликт в изменении кода. Один окмод меняет одно, другой другое. Смотрите логи и ошибки. У каждого модуля есть автор, попросите помочь если есть ошибки.
За журнал ошибок отдельное Спасибо! Совсем забыл про него! Там было немного мелких ошибок. Исправил! Мелочь, но приятно! А по теме.... При попытке соединения 1с с сайтом возникает ошибка... Код: 2016-03-21 18:46:49 - PHP Notice: Use of undefined constant VERSION - assumed 'VERSION' in /home/host1426479/*/htdocs/www/system/addist/startup.php on line 49 При чём тут загрузчик Addist понять сложно)))) Ругается на... PHP: if (version_compare(VERSION,'1.5') == -1) Есть вот такая конструкция... PHP: // Detecting oc versionif (version_compare(VERSION,'1.5') == -1){ $oc_version = '1.4.9.x';}elseif (version_compare(VERSION,'2.0') == -1){ $oc_version = '1.5.x';}else{ $oc_version = '2.x';}if (!defined('OC_VERSION')){ define('OC_VERSION',$oc_version);} Ввиду того, что я знаю версию движки, оставил только это... PHP: $oc_version = '2.x';define('OC_VERSION',$oc_version); И теперь 1с и сео-модуль могут работать одновременно)))). Что уже хорошо! Но всё же по какой причине они пересекаются в данном коде остаётся загадкой. Это надо уже у автора видимо выяснять.
Добрый день! Приношу свои извинения за задержку. Такая проблема связана с тем, что разработчик этого модуля интеграции в своем коде не добавил define('VERSION', 'Х.Х.Х.Х');, добавьте этот код или пришлите доступы от фтп нам по имеилу, мы вам поможем.
Да. Только не знаю в каком файле. У вас есть файл export/exchange1c.php? Если есть, пришлите этот файл по имеилу на dev@addist.ru, я отвечу где надо указать версию opencart(кстати версию вашего опенкарта тоже напишите)
В этом файле есть код определения версии... PHP: // Определяем версию системыif ($handle = fopen($_SERVER['DOCUMENT_ROOT'].'/index.php', 'r')) { $buffer = fread($handle, 2048); fclose($handle); if (strpos($buffer, 'OCSHOP')) { define('CMS', 'ocShop'); } elseif (strpos($buffer, 'OCSTORE')) { define('CMS', 'ocStore'); } else { define('CMS', 'OpenCart'); } if (preg_match("/[\d](\.[\d])+/", $buffer, $matches)) { define('VERSION', $matches[0]); } else { define('VERSION', '2.0.3.1'); }} Напишу разработчику модуля. Править код в данной версии не вижу смысла, ибо beta-версия. Если проблема не в модуле addist, то и ладно! Сейчас всё работает. Ну я надеюсь что те изменения в файле system/addist/startup.php, которые я сделал не повлияют на работу модуля в целом.
Обнаружил ещё один косяк - ошибки не выводятся на экран и не пишутся в лог. Если нажать сброс в Менеджере дополнений то перестаёт работать ocSeo, но начинает показывать ошибки(если они есть) и пишет их в лог.
А как это все связано между собой )) Вы нажали сброс, очистив папку модифицированных файлов и хотите чтобы небыло ошибок ??? А как дополнение то будет работать )) Это же тоже самое, что "Я открутил одно колесо и теперь машина плохо едет. Почему ?"
@Vlad , Вы не до конца меня поняли. Проблема не в том, что модули перестают работать, а в том что когда они работают, то ошибки не выводятся на экран и не пишутся в лог. Вообще любые ошибки, которые даже и не связаны с этими модулями. Т.е. данный функционал пропадает как таковой. Как это связано между собой я не в курсе! Но у меня этот модуль явно конфликтует с системой.
В логах модификаторов есть вот это... Код: MOD: OcSEO Plus - One click solution v0.10.3.4 [by addist.ru] CODE: $this->error = $error; LINE: 38 Может ли происходить то, что данный модуль как бы "съедает" ошибки? Ну или что то типа этого! Чтобы не было путаницы, приведу пример - вывожу в шаблон несуществующую переменную. Система должна ругаться! Но она молчит. Просто не показывает её. И в лог ошибок ничего не пишет. Сбрасываю модификаторы - ошибка высвечивается и уходит в лог! В модификаторах только один модуль - ocSeo.
указанная строчка к выводу ошибок вроде не относится. Напишите автору @Mumtoz и узнаете, вдруг оно и в правду что то делает.
Списался с разработчиком! Оказывается надо просто в настройках модуля во вкладке Сервис включить Режим отладки. Тогда система начинает транслировать имеющиеся ошибки!