Xwab
Форумыnavigate_nextПрограммирование на PHP

Показ ошибок PHP только админу
Сообщения
Morty

Нужно сделать так, чтоб ошибки PHP отображались только для админа.
Админ определяется посредтством проверки группы пользователя в сесии.
Подскажите, пожалуйста, как это реализовать?

22 Дек 2011, 0:49
Okula

// левел админа 1
if($_SESSION['level'] == 1) {
  error_reporting(E_ALL);
} else {
  error_reporting(0);
}

22 Дек 2011, 1:04
Morty

Okula, Благодарю

22 Дек 2011, 1:07
DarkMaster

if($_SESSION['admin']) print 'Привет одмин!';

22 Дек 2011, 1:07
Morty

DarkMaster, и чо?

22 Дек 2011, 1:16
luethus

Лучше отлавливай все ошибки с пом. set_error_handler() и записывай их в какой-то лог.

22 Дек 2011, 10:47
DarkMaster

Morty, Ничо. Суть тебе описал.

22 Дек 2011, 10:47
Morty

luethus, Можно с этого места поподробнее?
Как ловить, как писать? =)
DarkMaster, Я и так это знаю. Я забыл функцию вывода ошибок, а в гугл чёт не додумался вбить...
Сказывается бодрствование более суток за компом...

22 Дек 2011, 11:38
luethus

set_error_handler(function($errno, $errstr, $errfile, $errline) {
  // здесь пиши куда хочешь, хочешь в файл, хочешь в базу, это уже не мое дело :)
  // в аргументы передаются код ошибки, собственно ошибка, файл и номер строки соответственно.
});

это если PHP 5.3.
Для 5.2 - аналогично, только вместо замыкания сделать как-то так (т.к. замыкания в PHP начиная с 5.3):
function error_handler($errno, $errstr, $errfile, $errline) { ... }
set_error_handler('error_handler');

Подробнее здесь.

Для более полной информации при возникновении ошибки можешь записывать весь вывод debug_backtrace().

22 Дек 2011, 12:54
Morty

luethus, Спасибо. Буду пробовать.

22 Дек 2011, 13:18
Ответить на тему