Ты не понял. Тебе говорят зарегать в пыхе обработчик ошибок и там хоть простыни семимильные писать. Это делается одной строчкой, после чего пых все ошибки будет слать не в браузер, а в твою функцию. Если где-то в когде у тебя ошибка, которая не является таковой для пыха, но является ею с точки зрения логики твоего проекта, дергай триггер, генерь ошибку сам. И она уйдет во все тот же твой обработчик. И там делай с ней что хочешь. То есть место обработки для всего будет единым. И легко управляемым. Но да, придется везде натыкать кучу проверок, которые эти ошибки будут генерить.
думаю это мало поможет. грохнул юзер какуюто нужную директорию, или в результате сбоя чтото удалилось или записалось нетуда... да, факт ошибки отловить можно. допустим даже эта ошибка будет иметь некий уникальный код. например (234234 - отсутсnвие файла в каталоге /var/web/module3/class.php) НО. что дальше то? как юзер, совершенно незнающий как там внутри устроена система, сможет сам сделать чтото адекватное. ведь ошибка - она на то и ошибка(это выход за пределы документированных возможностей системы или окружения). исправить можно либо причину ошибки(внутри системы) либо следствие (вернуть в некое рабочее состояние, на какоето время, но раз причина ошибки не исправлена, она будет возникать и далее.) а патчить вручную систему, руководствуясь какимито вашими хелпами - нууу , это прямой путь убить систему окончательно, да еще с потерей важных данных. ибо юзер далеко не админ и не программер. в общем слабо представляю, что это сможет эффективно работать. ошибки ловить это хорошо. но давать юзеру самому решать подобные проблемы - сомнительное решение. Добавлено спустя 4 минуты 56 секунд: а чтобы снизить нагрузку на саппор - обычно делают некий раздел FAQ где описаны наиболее частые и простые вопросы и проблемы . а также пути самостоятельного решения, если это возможно. головастый юзер дейсвительно сможет найти решение и реализовать его в своей системе. а ленивый или некомпетентный все равно будет долбить саппорт. ибо это не его работа. он купил продукт - и он должен работать. решать его проблемы - ваша задача. и это правильно.
ну такая система реализована в юми и битриксе (из тех что я знаю) и как то же фунциклирует... FAQ есть, но кто его читает....тот кто и без него разберется, чайники все равно ломятся в саппорт
А еще в пользовательском соглашении битрикса есть отказ от ответственности и упоминание, что ковырять можно только то, что тебе же принадлежит. Если наковыряешь системные файлы насмерть, никто тебе не обязан ничем - сам виноват. Не ты их писал - не тебе ковырять/удалять. Далее, запили себе в проект кнопку "восстановление", которая будет появляться где-то в админке, в случае ошибок целостности проекта. Чтобы стучалось на сервер и забирало недостающие скрипты, попутно отправляя тебе рапорт о том, что данный юзер - ковырялка. Конечно, на случай, если юзер админку не выпилит. Или автоматизировать процедуру восстановления, спрятав код в один из основных системных файлов, который будет удален с наименьшей вероятностью.
Думаешь у нас этого не написано? Написано.... НО! Юзер же раструбит сначала по всему инету что продукт говно, потом даст доступы, потом мы залезем, проверим, исправим...это время....а из опровержений своего поноса на форумах он напишет все исправили, спасибо сапорту. Но говно так и будет висеть ((( Тут дело не в крайних случаях, когда что то снес, а в каких то элементарных, к примеру юзер пытается сохранить конфиг CMS но на нем к примеру права 444....я вот о таких ошибках говорю
Если сохраняет руками и система ничего не может поделать, что посылать в FAQ. Если сохраняет автоматом через систему, то проверять права через fileperms(); Прост правда, все случаи не учесть, это утопия. Всем не угодишь, всегда найдется дебил-истеричка-не-умеющий-читать.
еще шатдаун функшн надо регать. на хабре была статья про обработку вроде как даже фатальных ошибок =)
непонятен переход от проблемы к коду. ты обращаешся к человеку, почему нужен код, а не осмысленное сообщение? сравни с
Примерно такой текст я отдаю пользователю, параллельно отсылая настоящее сообщение об ошибке в папочку с логами, в соответственный файлик. Мимокрокодилу плевать, БД у меня сломалась, или пых объявил себя личностью и начал третью мировую. А немимокрокодил, у которого есть доступ к серверу, прочитает все сводки в оффлайне в любое время потом.
А еще "наши инженеры уже выехали" ))) Почему-то я подумал, что у Dmitriy A. Arteshuk продукт для интрасети, ну или в интернетах, но таки для внутреннего пользования. Иначе зачем пользователю знать диагноз. Для посвященных есть логи. Добавлено спустя 3 минуты 6 секунд: Offtopic: меня просто выбешивает сообщение гуглехрома "Опаньки! Страница не смогла загрузиться". Причем страница зашибательски грузилась, я ее просмотрел процентов на 90 и после этого всё схлапывается и "опаньки!". Видимо последний байт какого-нибудь сраного счетчика не закачался. Локализация от гопников с раёна.
я для интросети тоже не вижу смысла в подробных описаниях ошибок. но тем не менее, надо всегда давать рекомендацию к следующему действию типа "смирись, администрация извещена, починят при случае" или "странная ошибка, попробуй еще разик, авось прокатит". Юзеру это нужно. В неведении он в страхе.
фаталы регаются отдельно с разделением памяти хер осталось (Allowed memory size) или со временем писта (Maximum execution time) перечитал 5 раз, чесслово не понял что ты хотел сказать...либо вечер и я уже заипался...либо см п.1 )
перечитывал, но не понял где п.1 Добавлено спустя 2 минуты 58 секунд: я всего-лишь хотел спросить зачем тебе сочинять код ошибки?
Он просто имел ввиду, что описание ошибки можно прямо сразу показать. Чтобы никому не нужно было лезть в факу.
ну дык для удобства + не все я смогу предусмотреть и нечто типа " что то пошло не так, отправьте логи "разрабам"
1) Ты показываешь код ошибки #123 2) Говоришь "попялься в доку, там написано" 3) В доке написано "код ошибки #123: вы криворукий дегенерат" Внимание вопрос, почему бы не достать бритву Оккама и не отрезать ею лишние пункты, сразу показав пользователю: ? И ему не придется напрягаться и рыться в доке.