boolean ignore_user_abort(boolean ignore)
Вызов функции ignore_user_abort (листинг 15.5) со значением TRUE аргумента ignore приведет к продолжению работы сценария PHP даже в тех случаях, если пользователь неожиданно разорвет соединение. При этом возвращается предыдущее значение. Функцию ignore_user_abort можно вызывать и без аргумента, и в этом случае никакие изменения не вносятся.

j Листинг 15.5. Функция ignore_user_abort_
<?php
function fakeProcess($name) {
print("Запуск фиктивного процесса .<br>"),-
flush(); sleep(10);
print(" Завершение фиктивного процесса .<br>"),-//записать сообщение в журнал $statusMessage = date("Y-m-d H:i:s") .
"Фиктивный процесс $name завершен n"; error_log($statusMessage, 3, "/tmp/status.log"),-
}
// Завершить сценарий, даже если пользователь
// прерывает его выполнение
ignore_user_abort(TRUE);
fakeProcess("one");
// разрешить повторное завершение
ignore_user_abort(FALSE);
fakeProcess("two");
?>

ini_alter
Эта функция является псевдонимом функции ini_set. 
string ini_get(string directive)

Функция ini_get (листинг 15.6) возвращает значение одной из директив, описанных выше.

| Листинг 15.6. Функция ini get_
<?php
// посмотреть, что представляет собой SMTP print(ini_get("SMTP") . "<br>"); // изменить значение на фиктивное ini_alter("SMTP", "mail.corephp.com"); print(ini_get("SMTP") . "<br>"); // вернуться к первоначальному значению ini_restore("SMTP"); print(ini_get("SMTP") . "<br>");

array ini_get_all(string extension)
Функция ini_get_all (листинг 15.7) возвращает массив с текущими установками всех директив настроек. Необязательный аргумент extension ограничивает перечень директив директивами одного расширения. Каждая директива соответствует одному элементу массива. Сами значения элементов являются массивами с тремя элементами: access, global_value и local_value. Уровень доступа задается одним битом. Первый бит задается, если существует возможность задавать значение директивы непосредственно в сценарии. Второй бит (2) задается, если существует возможность задавать значение директивы в файлах .htaccess. Третий бит (4) задается, если существует возможность задавать значение директивы в файле httpd.conf. Значение директивы всегда можно задавать в конфигура­ционном файле php.ini.

| Листинг 15.7. Функция ini_get_all_
<table> <tr>
<td>Directive</td>
<td>Global</td>
<td>Local</td>
<td>Changeable Here</td>
</tr>
<?php
foreach(ini_get_all('mysql') as $directive=>$setting)
{
print("<tr>");
print("<td>$directive</td>");
print("<td>{$setting['global_value']}</td>"),-print("<td>{$setting['local_value']}</td>");
print("<td>");
if($setting['access'] & 1)
{
print("Да"),• 
}
else
{
print("Нет");
}
print("</td>"); print("</tr>n");
}
</table>

ini_restore(string directive)
Функция ini_restore восстанавливает значение указанной директивы, заданное в конфигурационном файле php.ini . Пример использования этой функции можно найти в примере использования функции ini_get.
string ini_set(string directive, string value)
Функция ini_set предназначена для изменения значения одной из вышеописанных функций. Новое значение будет действовать только в рамках определенного сценария. Содержимое самого конфигурационного файла не меняется. При этом необходимо помнить, что не все директивы могут изменять значения на уровне сценария.
restore_include_path()
Функция restore_include_path восстанавливает первоначальное значение директивы include_path после того, как она была изменена с помощью функции set_include_path или ini_set.