Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Отладка PHP программ
debugger_on . Разрешение использования внутреннего отладчика PHP
int debugger_on (string address)
|
Функция подключает отладчик на удаленном сервере по адресу address. Отладчик пока находится в стадии разработки, но он доступен для PHP версии 3.
define_syslog_variables . Инициализация константы диспетчера системных событий
void define_syslog_varaibles (void) |
Функция инициализирует константы диспетчера системных событий. Эти константы в дальнейшем используются функциями системных событий.
См. также openlog(), syslog() и closelog().
openlog. Подключение к диспетчеру системных событий
int openlog (string ident, int option, int facility) |
Функцию не обязательно вызывать явно. Она автоматически вызывается функцией syslog(), и в этом случае аргумент ident используется со значением FALSE. Строка ident будет добавляться к каждому отсылаемому сообщению. Обычно функция используется при необходимости явной передачи аргументов option и facility.
Аргумент option используется для указания параметров при генерации системного события. Возможные значения этого параметра указаны в следующем списке:
- LOG_CONS - в случае ошибки при посылке сообщения оно выводится непосредственно в системную консоль.
- LOG_NDELAY - незамедлительно подключиться к диспетчеру системных событий.
- LOG_ODELAY - отложить подключение до посылки первого сообщения. Значение используется по умолчанию.
- LOG_PERROR - выводить сообщения в стандартный поток ошибок.
- LOG_PID - включать в сообщения идентификатор процесса (PID).
Возможно одновременное указание нескольких значений при помощи битового оператора ИЛИ, например LOG_CONS | LOG_NDELAY | LOG_PID.
Аргумент facility задает вид приложения, посылающего сообщение. Это влияет на их обработку системой. Возможные значения этого параметра указаны в следующем списке:
- LOG_AUTH - сообщения безопасности и авторизации. Но лучше использовать значение LOG_AUTHPRIV в тех системах, где эта константа определена.
- LOG_AUTHPRIV - персональные сообщения безопасности и авторизации.
- LOG_CRON - служба таймера (демоны cron и at).
- LOG_DAEMON - другие системные службы (daemons).
- LOG_KERN - сообщения ядра системы (kernel).
- LOG_LOCAL0 - LOG_LOCAL7 - значения зарезервированы для локального использования.
- LOG_LPR - подсистема линейного принтера.
- LOG_MAIL - почтовая подсистема (mail).
- LOG_NEWS - подсистема новостей USENET.
- LOG_SYSLOG - сообщения, генерируемые демоном syslogd.
- LOG_USER - сообщения, порождаемые приложениями.
- LOG_UUCP - подсистема UUCP
См. также define_syslog_variables(), syslog() и closelog().
closelog. Отключение от диспетчера системных событий
int closelog(void); |
Функция позволяет отключиться от диспетчера системных событий. Но обычно ее не вызывают явно.
См. также define_syslog_variables(), syslog() и openlog().
syslog. Посылка системного сообщения
int syslog (int priority, string message) |
В аргументе message указывается содержание сообщения. Cимволы %m в этом сообщении заменяются на строку текущего сообщения об ошибке, расшифровывающую значение errno. Аргумент priority является комбинацией уровня приложения и приоритета события. Его возможные значения перечислены в следующем списке в порядке понижения приоритета:
- LOG_EMERG - неработоспособность системы.
- LOG_ALERT - необходимы срочные действия.
- LOG_CRIT - критическое состояние.
- LOG_ERR - ошибка.
- LOG_WARNING - предупреждение.
- LOG_NOTICE - нормальное, но значимое сообщение.
- LOG_INFO - информационное сообщение.
- LOG_DEBUG - сообщение отладки.
Пример использования этой функции для посылки сообщения приведен в следующем листинге:
define_syslog_variables();
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);
// ...
if (!authorized_client()) { // процедура авторизации
// неавторизирован! (сохранить сообщение об этом объекте)
$access = date("Y/m/d H:i:s");
syslog(LOG_WARNING,"Unauthorized client: $access
$REMOTE_ADDR ($HTTP_USER_AGENT)");
}
closelog();
В системной документации должно быть указано, как установить собственный обработчик системных событий.
На системах Windows NT служба syslog эмулируется как Event Log.
Смотрите также Обработка ошибок и исключений в PHP, define_syslog_variables(), openlog() и closelog().