Аргерих Л. О языке РНР. Часть 1. Страница 130


♦ 2 - порт отладки на машине, если такой имеется. Третий аргумент задает фактическое имя хоста и номер порта в формате hostname : port. Четвертый аргумент опускается.

♦ 3 - локальный файл. Третий аргумент задает путь к файлу. Конечно, РНР должен иметь права записи в этот файл. Четвертый аргумент в этом случае опускается.

Вот пример сценария, использующего функцию error_log( ): <?php

//Log_Errors. php

//отключение вывода ошибок в пользу, error_log() error_reporting(0); if {

// сообщение об ошибке, регистрируемое в журнале веб-сервера error_log("File could not be opened", 0); // сообщение об ошибке регистрируется как e-mail error_log("File could not be opened", 1, "mailto:phpuser@php.wrox.com">phpuser@php.wrox.com",

"Reply-To: mailto:phpcoder@somedomain.com">phpcoder@somedomain.com"); // send to debug port error_,log("fiie could not be opened", 2,

"debugmachine. somedomain. com: 333');

// запись сообщения об ошибке в файл error_log("File could not be opened", 3,

"/va r/adm/logs/php_e r rors.log");

>

?>

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

<?php

//Route_Error. php

function logContentError($msg) {

error_log($msg, 0);

error_log($msg, 1, "mailto:content.manager@foowidgets.com">content.manager@foowidgets.com", "Reply-To: mailto:content.manager@foowidgets.com">content.manager@foowidgets.com");

}

function iogOBError(Smsg) (

error_log($msg, 0);

error_log($msg, 1, "mailto:content.manager@foowidgets.com">content.manager@foowidgets.com",

"Reply-To: mailto:content.manager@foowidgets.com">content.manager@foowidgets.com"); error_log($msg, 3, "/titip/dberrors.log"); '

}

?>

Функции сообщения об ошибках logContentError() и logDBError() вызывают­ся, когда возникают ошибки, связанные с содержимым или базой данных соответственно. Функции выполняют маршрутизацию сообщений об ошиб­ках сопровождающему сайт или в файл журнала.

Утилиты отладки

Теперь, когда у нас есть ясное понимание различных ошибок, которые могут вкрасться в сценарии, и способов их обработки, можно рассмотреть различ­ные инструменты для поиска и исправления ошибок. Мы рассмотрим инст­рументы как коммерческие, так и с открытым исходным кодом, от простых утилит командной строки до полноценных отладчиков, интегрированных в IDE. Вот некоторые распространенные утилиты:




Работать по дереву нужно только с использованием специальных инструментов. Лучше всего использовать деревообрабатывающие станки, которые помогут быстро порезать, разрезать, просверлить и многое другое в считанные минуты.