фиксация всех ошибок и перенаправление к странице с php

Попытайтесь смотреть на несколько инструментов, что я думаю, мог получить Вас большая часть того, в чем Вы нуждаетесь:

1) сценарий p4pr Perl Bob Sidebotham и Jonathan Kamens.

2) интерфейс Emacs Perforce имеет команду 'p4-print-with-rev-history' (связанный с 'C-x p V').

10
задан mrpatg 22 November 2009 в 11:20
поделиться

3 ответа

Вы можете изменить страницу ошибок 500 по умолчанию в Apache с помощью директивы 'ErrorDocument':

ErrorDocument 500 /500.html

Это перенаправляет 500 Internal Ошибка сервера на 500.html. Вы также можете использовать там страницу PHP и отправить ссылку на страницу по электронной почте.

Чтобы выявить ошибки, вы можете записать их в файл error.log. Используйте следующие две директивы в своем файле php.ini:

error_log = /var/log/httpd/error_php  
log_errors = On  

Не забудьте перезапустить Apache.

5
ответ дан 3 December 2019 в 20:05
поделиться

Сначала измените свой php.ini, чтобы подавить сообщения об ошибках и включить ведение журнала:

 display_errors=Off
 log_errors=On
 error_log=whatever/path

Напишите обработчик ошибок (в отличие от set_error_handler , он также обнаруживает фатальные ошибки)

register_shutdown_function('errorHandler');
function errorHandler() {
   $err = error_get_last();
   if($err)
     include "error_page.php"; // your custom error page
}

Поместите этот код в файл и скажите php включать его при каждом запросе (см. auto_prepend_file @ http://php.net/manual/en/ini.core.php )

5
ответ дан 3 December 2019 в 20:05
поделиться

См. set_error_handler :

set_error_handler - Устанавливает определяемая пользователем функция обработчика ошибок

Элементарный пример:

<?php

function errorHandler($n, $m, $f, $l) {
    header('Location: http://example.com/error.php');
}

set_error_handler('errorHandler');
...
?>
9
ответ дан 3 December 2019 в 20:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: