Страница 1 из 2

Обработка ошибок конфига

Добавлено: 20 июл 2013, 15:14
Wave
Автор, ну сделай ты нормальный сабж! Ладно, обновления только вручную и после каждого обновления заново настраивать. Хрен там с ним, настрою. Уже сталкивался с тем, что при попытке запуска со старым конфигом выдаётся index out of bound. Так сейчас поставил 4.8.7, настроил его. А потом взялся донастраивать, чтобы повносить все модули в разрешения фаерволла. И он мне снова выдал индекс аут оф. И всё, прога не запускается, точнее при запуске бросает исключение. И попытка удалить Default.ini не спасает. Единственный выход — заново скачивать дистрибутив (на винте не осталось), выдирать из него дефолтный конфиг, запускать сервер с ним и ещё раз настраивать. Ну несложно же программно проинитить какими-то дефолтными настройками, а потом если в конфиге настройки есть — переопределить их. Зато у пользователей не будет такой вот возни.

Добавлено: 31 июл 2013, 16:02
Максим
Зачем мне это делать, если ни конфиги, ни файлы языка, ни файлы профилей разных версий несовместимы. Если кто-то копирует эти файлы из предыдущей версии в новую, то это его проблемы. Возможно моя ошибка в том, что я не указал об этом в документации.

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

Добавлено: 31 июл 2013, 17:50
Wave
Зачем мне это делать, если ни конфиги, ни файлы языка, ни файлы профилей разных версий несовместимы.
В том числе ВНУТРИ ОДНОЙ ВЕРСИИ.
Так сейчас поставил 4.8.7, настроил его. А потом взялся донастраивать, чтобы повносить все модули в разрешения фаерволла. И он мне снова выдал индекс аут оф. И всё, прога не запускается, точнее при запуске бросает исключение.
С нуля, мать его за ногу, поставил. Родной конфиг который получился из гуя внутри той же самой версии, на которой проблемы оказались.
Тут просто дело принципа. Мастерство программирования не в том, чтобы писать программу без ошибок, а в том, чтобы писать программу, работающую не смотря на ошибки. Точно так же, как я воевал за то, чтобы не называть портативной программу, которая инсталлит в систему какие-то библиотеки, так и здесь стою на том, что начальную инициализацию надо делать нормальной, а не на костылях.

Сколько раз уже встречал скрипты, которые внешне работают, а стоит выключить подавление ошибок, начинают сыпать ворнингами. Ну и ошибки в них случаются только потому, что нормального инита нет.

P.s. Фразой «Уже сталкивался с тем, что при попытке запуска со старым конфигом выдаётся index out of bound.» — я как раз и имел в виду, что в этот раз не стал поверх ничего распаковывать. А заодно — откуда ноги растут у ошибки, которая со мной приключилась.

Добавлено: 31 июл 2013, 18:09
Максим
Wave писал(а):В том числе ВНУТРИ ОДНОЙ ВЕРСИИ.
Какие смешные выдумки у вас. Если у вас конфиг от одной и той же версии дает сбой, то тут 100% вы что-то намудрили. Если есть желание кидайте доступ по тимвьюверу в личку, зайду и погляжу в чем проблема.

Добавлено спустя 1 минуту 23 секунды:
Wave писал(а):Точно так же, как я воевал за то, чтобы не называть портативной программу, которая инсталлит в систему какие-то библиотеки
Уже как пол года или год ничего не инсталлит, так что можно спать спокойно.

Добавлено: 31 июл 2013, 19:02
Wave
Какие смешные выдумки у вас.
Обхохотаться можно.
Если у вас конфиг от одной и той же версии дает сбой, то тут 100% вы что-то намудрили.
Гуй программы даёт возможность намудрить. Притом, я не делал ничего хитровымороченного, выбрал скин, сменил букву виртуального диска, ещё мелочи типа кодировки сервера утф8. Почти всё оставлено по дефолту. И если так просто оказалось намудрить, то в консерватории что-то нужно менять.

Тимвьювер недоступен сейчас, но выглядит это дело так:
1. автозапуск сервера.
2. апач+нжикс, пых 5.3, мускуль 5.5.

Добавляю запуск днс-сервера, жму «сохранить», получаю index out of bound и висяк, а при следующем запуске программы бесконечное исключение ещё до запуска сервера. Повторяемость стопроцентная. Заподозрил, что этот днс несовместим с хр, но при беглом взгляде по докам об этом ни слова, к тому же прямо в гуе некоторые модули обозначены как вин7-онли, а днс так не обозначен. Ну и не повод же.
Уже как пол года или год ничего не инсталлит, так что можно спать спокойно.
Но при этом вы тогда упорно называли программу портативной, пока наконец не сделали её действительно портативной, подозреваю, не без моей настойчивости.

Добавлено: 31 июл 2013, 19:51
Максим
Нужен тимвьювер, без него нечего гадать, ваши файлы профиля здесь не помогут. Я конечно сегодня лишний раз проверю программу, посмотрю может там чего, но если есть возможность, то лучше посмотреть тимвьювером.

Добавлено: 31 июл 2013, 19:59
Wave
Тогда не знаю когда. Вряд ли в ближайшие несколько дней. Кстати, и чем же поможет тимвьювер? Дебажить удалённо будете? Я в принципе могу записать видео того, что и как происходит. Хотя в принципе уже описал.

Добавлено: 31 июл 2013, 23:06
Максим
Да, естественно отладка. Найду строку в программе или проблему в конфиге из-за которой возникает проблема. А запись видео тут смысла никакого не имеет.

Есть другой вариант, лучше скиньте мне на info@open-server.ru всю папку /userdata/ (кроме папок с вашими базами данных), буду искать тогда проблему у себя используя ваши конфиги.

Добавлено спустя 3 часа 3 минуты 21 секунду:
Попробовал ваши конфиги, всё работает прекрасно. Значит дело не в них. На ум приходят только файлы языков. Вы с ними что либо делали, меняли, заменяли? modules/system/langs/

Добавлено: 01 авг 2013, 09:38
Wave
Вот уж чего-чего, а этого точно делать и не думал.
  1. Сбэкапил старую версию (несколько промежуточных пропустил, потому что тут не самая дружелюбная процедура обновления).
  2. Распаковал новую. Чуть-чуть поморочившись с набором софта, он у меня беднее и некоторые программы от старых версий я не удалял.
  3. Перенёс со старого места папку domains (и очень рад тому, что понимаются разные подкаталоги, www, public_html, etc, потому что когда-то приходилось вручную домены прописывать).
  4. Перенёс файлы баз в новый каталог. Да, помню все предупреждения, но а) в остановленных серверах в рамках 5.5.х, б) и так работает, а вот если не работало бы, тогда б и заморачивался с экспортом-импортом. А заодно ещё реже обновлял бы прогу.
  5. phpmyadmin_config.inc.php авторизацию сменил с куки на конфиг.
  6. Запустил сервер, отметил самые ходовые наборы модулей и те мелочи, о которых упоминал. Запустил и в фаерволле поотвечал на выскочившие окошки, что эти-то программы — доверенные. Работает, ура!
  7. Сколько-то времени спустя (т.е. уже после нескольких перезапусков, даже старый бэкап удалил) дошли руки повносить остальные модули в фаерволл (остальные версии апача-нжикса, остальные версии мускула). Вот тут и напоролся на багу. Благодаря предыдущему опыту обновлений понял, что проблема вокруг конфига. Но разбираться с его легитимностью… Короче, быстрей всего оказалось заново скачать программу, выдрать из него инишник и заново настроить. Пока качал, накатал гневный пост.

Добавлено: 02 авг 2013, 22:18
Максим
Понятно OK

Мне тут другой пользователь скинул файлы, там ошибка index out of bound воспроизводится, в отличие от присланных вами файлов. Как только выясню в чем дело, сразу отпишусь. Возможно что это та же проблема что и у вас.

Добавлено спустя 38 минут 35 секунд:
Проблему нашел, в будущей версии исправлю. Чтобы исправить на текущей версии нужно проверить какие у вас есть поддомены и если для них не созданы корневые домены, то создать их.

Например созданы поддомены:
xxxx.domen.com
yyyy.domen.com

Чтобы ошибка ушла, создайте на сервере домен domen.com, пусть он вам и не нужен. Или отключите DNS модуль.