register_shutdown_function(string function)
Функция register_shutdown_function (листинг 15.8) вызывает выполнение функции после анализа целого сценария, включая код за пределами тегов PHP. В случае ошибки, тайм-аута или принудительного завершения работы пользователем выполняется функция shutdown.
Необходимо помнить, что функция shutdown может быть вызвана после того, как было разорвано соединение с браузером. В этом случае использование функции print теряет всякий смысл. Другими словами, это не подходит для отладки. Можно зарегистрировать более одной функции shutdown. PHP выполняет каждую функцию shutdown в порядке ее регистрации.

| Листинг 15.8. Функция register_shutdown_function_
<?php
function shutdown()
{
error_log('Работа сценария завершена', 3, "/tmp/status.log"),-
}
register_shutdown_function("shutdown");

 ?>
restore_error_handler()
Функция restore_error_handler позволяет восстановить прежнюю программу обработки ошибок после того, как была задана новая программа обработки ошибок с помощью функции set_error_handler.
restore_exception_handler()
Функция restore_exception_handler позволяет восстановить прежнюю программу обработки исключительных событий после того, как была задана новая программа исключительных событий с помощью функции set_exception_handler.
string set_error_handler(string function) string set_error_handler(array function)
Функция set_error_handler (листинг 15.9) задает функцию, которую вызывает PHP, при возникновении ошибки и возвращает имя предыдущей программы обработки ошибок. PHP вызывает программу обработки ошибок с пятью аргументами: номер ошибки, описание, путь к файлу, номер строки и контекст. Последний аргумент представляет собой копию массива GLOBALS. Существует возможность задать класс или объектный метод для программы обработки ошибок. В этом случае будем иметь массив с двумя элементами. Первый элемент должен содержать имя класса или объекта, а второй - имя метода.
В случае задания дополнительной программы обработки ошибок PHP игнорирует значения директивы error_reporting и будет вызывать вашу функцию для обработки каждой ошибки, предупреждения или уведомления. Если требуется игнорировать классы ошибок, необходимо проверить возвращаемое значение с помощью функции error_reporting и действовать соответствующим образом. Если необходимо восстановить стандартную программу обработки ошибок, можно вызывать функцию restore_error_handler или использовать функцию set_error_handler с аргументом, имеющим значение NULL.

| Листинг 15.9. Функция set_error_handler_
<?php
function handleError($error, $description, $file, $line, $context)
{
switch($error)
{
case E_USER_ERROR:
$type = "Error"; $color = "red"; break;
case E_WARNING:
case E_USER_WARNING:
$type = "Warning"; $color = "yellow"; break;
case E_NOTICE:
case E_USER_NOTICE: $type = "Notice"; 
$color = "blue"; break; default:
$type = "Other Error";
}
print("<table border="1"><tr><td bgcolor="$color">" . "$type: $description in $file on line $line " . "({$context["_SERVER"]["REMOTE_ADDR"]})<br>" .
"</tr></td></table>");
}
// переключиться на обычную программу обработки set_error_handler('handleError');
trigger_error("Custom error handler", E_USER_WARNING); //show PHP's default handler restore_error_handler();
trigger_error("PHP's default error handler", E_USER_WARNING);
?>

set_exception_handler(string function) set_exception_handler(array function)
Функция set_ exception _handler задает функцию, которую вызывает PHP при возникновении исключительного события, и возвращает имя предыдущей программы обработки исключений. Существует возможность задания класса или объектного метода для программы обработки исключений. В этом случае будем иметь массив с двумя элементами. Первый элемент должен содержать имя класса или объекта, второй - имя метода.
boolean set_include_path(string path)
Функция set_include_path (листинг 15.10) задает директиву include_path, которую можно задавать также с помощью функции ini_set.

Листинг 15.10. Функция set_include_path

<?php
//печатает что- то наподобие.: /usr/local/lib/php print(get_include_path() . "<br>"); set_include_path("/home/leon/library"); print(get_include_path() . "<br>"); restore_include_path(); print(get_include_path() . "<br>");
?>

integer set_magic_quotes_runtime(boolean setting)
Функция set_magic_quotes_runtime (листинг 15.11) предназначена для изменения режима замены кавычек в данных, выбранных из базы данных. Возвращается первоначальное значение. 
Листинг 15.11. Функция set_magic_quotes_runtime

<?php
//отключить режим magic_quotes_runtime set_magic_quotes_runtime(0);