За последние 24 часа нас посетил 55241 программист и 1615 роботов. Сейчас ищет 1331 программист ...

Система контроля ошибок CMS

Тема в разделе "Прочие вопросы по PHP", создана пользователем Dmitriy A. Arteshuk, 3 июн 2014.

  1. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты не понял. Тебе говорят зарегать в пыхе обработчик ошибок и там хоть простыни семимильные писать. Это делается одной строчкой, после чего пых все ошибки будет слать не в браузер, а в твою функцию. Если где-то в когде у тебя ошибка, которая не является таковой для пыха, но является ею с точки зрения логики твоего проекта, дергай триггер, генерь ошибку сам. И она уйдет во все тот же твой обработчик. И там делай с ней что хочешь. То есть место обработки для всего будет единым. И легко управляемым. Но да, придется везде натыкать кучу проверок, которые эти ошибки будут генерить.
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ладно, понял...пошел ваять (((
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    http://www.php. net/manual/en/ref.errorfunc.php в помощь. только пробел выпили перед net.
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    думаю это мало поможет. грохнул юзер какуюто нужную директорию, или в результате сбоя чтото удалилось или записалось нетуда...
    да, факт ошибки отловить можно. допустим даже эта ошибка будет иметь некий уникальный код. например (234234 - отсутсnвие файла в каталоге /var/web/module3/class.php)
    НО. что дальше то? как юзер, совершенно незнающий как там внутри устроена система, сможет сам сделать чтото адекватное.
    ведь ошибка - она на то и ошибка(это выход за пределы документированных возможностей системы или окружения).
    исправить можно либо причину ошибки(внутри системы) либо следствие (вернуть в некое рабочее состояние, на какоето время, но раз причина ошибки не исправлена, она будет возникать и далее.)
    а патчить вручную систему, руководствуясь какимито вашими хелпами - нууу , это прямой путь убить систему окончательно, да еще с потерей важных данных. ибо юзер далеко не админ и не программер.

    в общем слабо представляю, что это сможет эффективно работать. ошибки ловить это хорошо. но давать юзеру самому решать подобные проблемы - сомнительное решение.

    Добавлено спустя 4 минуты 56 секунд:
    а чтобы снизить нагрузку на саппор - обычно делают некий раздел FAQ
    где описаны наиболее частые и простые вопросы и проблемы . а также пути самостоятельного решения, если это возможно.
    головастый юзер дейсвительно сможет найти решение и реализовать его в своей системе. а ленивый или некомпетентный все равно будет долбить саппорт. ибо это не его работа. он купил продукт - и он должен работать. решать его проблемы - ваша задача. и это правильно.
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ну такая система реализована в юми и битриксе (из тех что я знаю) и как то же фунциклирует...

    FAQ есть, но кто его читает....тот кто и без него разберется, чайники все равно ломятся в саппорт
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А еще в пользовательском соглашении битрикса есть отказ от ответственности и упоминание, что ковырять можно только то, что тебе же принадлежит. Если наковыряешь системные файлы насмерть, никто тебе не обязан ничем - сам виноват. Не ты их писал - не тебе ковырять/удалять.

    Далее, запили себе в проект кнопку "восстановление", которая будет появляться где-то в админке, в случае ошибок целостности проекта. Чтобы стучалось на сервер и забирало недостающие скрипты, попутно отправляя тебе рапорт о том, что данный юзер - ковырялка.

    Конечно, на случай, если юзер админку не выпилит. Или автоматизировать процедуру восстановления, спрятав код в один из основных системных файлов, который будет удален с наименьшей вероятностью.
     
  7. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Думаешь у нас этого не написано? Написано....

    НО! Юзер же раструбит сначала по всему инету что продукт говно, потом даст доступы, потом мы залезем, проверим, исправим...это время....а из опровержений своего поноса на форумах он напишет все исправили, спасибо сапорту. Но говно так и будет висеть (((

    Тут дело не в крайних случаях, когда что то снес, а в каких то элементарных, к примеру юзер пытается сохранить конфиг CMS но на нем к примеру права 444....я вот о таких ошибках говорю
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Если сохраняет руками и система ничего не может поделать, что посылать в FAQ.
    Если сохраняет автоматом через систему, то проверять права через fileperms();

    Прост правда, все случаи не учесть, это утопия. Всем не угодишь, всегда найдется дебил-истеричка-не-умеющий-читать.
     
  9. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    вот! я об этом и пишу!

    обрабатываем права, не те, вот те код ошибки, иди в фак
     
  10. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну вот тебе и алгоритм)) реализовывай.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Вот те матюгальник - trigger_error();
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    еще шатдаун функшн надо регать.
    на хабре была статья про обработку вроде как даже фатальных ошибок =)
     
  13. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    непонятен переход от проблемы к коду. ты обращаешся к человеку, почему нужен код, а не осмысленное сообщение?

    сравни с
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    :D

     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Примерно такой текст я отдаю пользователю, параллельно отсылая настоящее сообщение об ошибке в папочку с логами, в соответственный файлик. Мимокрокодилу плевать, БД у меня сломалась, или пых объявил себя личностью и начал третью мировую. А немимокрокодил, у которого есть доступ к серверу, прочитает все сводки в оффлайне в любое время потом.
     
  16. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    А еще "наши инженеры уже выехали" )))

    Почему-то я подумал, что у Dmitriy A. Arteshuk продукт для интрасети, ну или в интернетах, но таки для внутреннего пользования. Иначе зачем пользователю знать диагноз. Для посвященных есть логи.

    Добавлено спустя 3 минуты 6 секунд:
    Offtopic: меня просто выбешивает сообщение гуглехрома "Опаньки! Страница не смогла загрузиться". Причем страница зашибательски грузилась, я ее просмотрел процентов на 90 и после этого всё схлапывается и "опаньки!". Видимо последний байт какого-нибудь сраного счетчика не закачался.

    Локализация от гопников с раёна.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я для интросети тоже не вижу смысла в подробных описаниях ошибок. но тем не менее, надо всегда давать рекомендацию к следующему действию типа "смирись, администрация извещена, починят при случае" или "странная ошибка, попробуй еще разик, авось прокатит".
    Юзеру это нужно. В неведении он в страхе.
     
  18. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    у меня был эпический случай с диагностическим сообщением "Жопа №2"
     
  19. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    фаталы регаются отдельно с разделением памяти хер осталось (Allowed memory size) или со временем писта (Maximum execution time)

    перечитал 5 раз, чесслово не понял что ты хотел сказать...либо вечер и я уже заипался...либо см п.1 )
     
  20. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    перечитывал, но не понял где п.1

    Добавлено спустя 2 минуты 58 секунд:
    я всего-лишь хотел спросить зачем тебе сочинять код ошибки?
     
  21. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
     
  22. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Он просто имел ввиду, что описание ошибки можно прямо сразу показать. Чтобы никому не нужно было лезть в факу.
     
  23. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ну дык для удобства + не все я смогу предусмотреть и нечто типа " что то пошло не так, отправьте логи "разрабам"
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1) Ты показываешь код ошибки #123
    2) Говоришь "попялься в доку, там написано"
    3) В доке написано "код ошибки #123: вы криворукий дегенерат"

    Внимание вопрос, почему бы не достать бритву Оккама и не отрезать ею лишние пункты, сразу показав пользователю:
    ?

    И ему не придется напрягаться и рыться в доке.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    шатдаун - одно, фаталы - другое.