Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[BETA] NO_White_Pages: Устранение белых (пустых) страниц

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

[BETA] NO_White_Pages: Устранение белых (пустых) страниц

Сообщение c61 »

В случае, если в коде phpBB допущены ошибки (например, при установке какого-либо мода или при отладке мода), Вы можете увидеть белые (пустые) страницы. Некоторые при виде белых страниц не знают, что и делать... Знающим приходится анализировать логи ошибок, добавлять ini_set и т.п., что отнимает массу времени. Не проще ли использовать собственную функцию обработки shutdown и выдать на экран описание ошибки ? Да, проще, и во многих случаях это помогает. Однако, для получения инормации об ошибке требуется функция error_get_last, которая появилась в php начиная с версии 5.2.0, что является ограничением на использование данного мода.

Итак, создаём файл includes/fatal_error_handler.php со следующим содержимым:

Код: Выделить всё

<?php
//
// phpBB NO White Pages
// v.0.0.1 20140216
// copyright (c) 2014 c61 http://c61.no-ip.org <c61@yandex.ru>
// license http://opensource.org/licenses/gpl-license.php GNU Public License
//

function fatal_error_handler()
{
	if(function_exists('error_get_last'))
	{
		if($last_error = error_get_last())
		{
			switch ($last_error['type'])
			{
				case E_ERROR:
				case E_PARSE:
				case E_CORE_ERROR:
				case E_COMPILE_ERROR:
				case E_USER_ERROR:
				case E_RECOVERABLE_ERROR:
				{
					echo '<b>Error ' . $last_error['type'] . ': ' . $last_error['message'] . ' at file ' . $last_error['file'] . ' line ' . $last_error['line'] . '</b><br /><br />';
					break;
				}
				default:
				{
					break;
				}
			}
		}
	}
}

register_shutdown_function('fatal_error_handler');
?>
Затем в файле common.php ищем:

Код: Выделить всё

require($phpbb_root_path . 'includes/startup.' . $phpEx);
и добавляем ПЕРЕД:

Код: Выделить всё

require($phpbb_root_path . 'includes/fatal_error_handler.' . $phpEx);
Вот и всё... В случае труднодиагностируемой ошибки, например, в хук-функции, на белой странице можно видеть сообщение следующего содержания (на примере hook_brquotes.php):

Код: Выделить всё

Error 4: syntax error, unexpected '''' (T_CONSTANT_ENCAPSED_STRING) at file forum/includes/hooks/hook_brquotes.php line 128
и всё становится ясным.

Скачать:
no_white_pages_v_0_0_1.zip
(2.27 КБ) 394 скачивания
Тема на моей тестовой площадке: тынц.
Последний раз редактировалось c61 14.07.2014 19:33, всего редактировалось 1 раз.
Аватара пользователя
staiki
phpBB 2.0.2
Сообщения: 318
Стаж: 11 лет 9 месяцев
Откуда: Киев Украина
Благодарил (а): 76 раз
Поблагодарили: 9 раз
Контактная информация:
Забанен: Бессрочно

Re: [BETA] NO_White_Pages: Устранение белых (пустых) страниц

Сообщение staiki »

Иногда бывает подобная ситуёвина особенно если с левого хоста картинок заливается в новую тему скрин.Отправляю созданную тему и когда захожу в неё-белая страница.Речь об этом в этой теме или нет?
http://staiki.net/index.php Форум Компьютерная Помощь
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: [BETA] NO_White_Pages: Устранение белых (пустых) страниц

Сообщение Алг »

c61, замечательный инструмент, большое спасибо!
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Webliberty
phpBB 2.0.5
Сообщения: 472
Стаж: 12 лет 3 месяца
Благодарил (а): 161 раз
Поблагодарили: 66 раз
Контактная информация:

Re: [BETA] NO_White_Pages: Устранение белых (пустых) страниц

Сообщение Webliberty »

Большое вам спасибо! Очень помогло! После обновления конференции на некоторых страницах администраторского раздела появлялись пустые белые страницы. Установил мод - и сразу увидел в каком файле ошибка. Проверил, исправил и все заработало! Отлично!
Мой форум на phpBB 3.3.8 (начинал с phpBB 3.0.9)
Подпись заверена нотариусом :P
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: [BETA] NO_White_Pages: Устранение белых (пустых) страниц

Сообщение Sheer »

Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Закрыто

Вернуться в «Бета-версии модов для phpBB 3.0.x»