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

Сообщаем об ошибках phpBB 3.2.x разработчикам

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

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

Если выбран поисковый механизм MySQL Fulltext и
1) поисковые индексы отсутствуют, то при попытке поиска форум падает с фатальной онибкой

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

Общая ошибка
SQL ERROR [ mysqli ]

Can't find FULLTEXT index matching the column list [1191]

SQL

SELECT SQL_CALC_FOUND_ROWS p.post_id FROM phpbb_posts p WHERE MATCH (p.post_subject, p.post_text) AGAINST ('+правильно ' IN BOOLEAN MODE) AND (p.post_visibility = 1 OR p.forum_id IN (1, 2)) ORDER BY p.post_time DESC LIMIT 250

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 999
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/mysql_base.php
LINE: 45
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 270
CALL: phpbb\db\driver\mysql_base->_sql_query_limit()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 321
CALL: phpbb\db\driver\driver->sql_query_limit()

FILE: [ROOT]/phpbb/search/fulltext_mysql.php
LINE: 594
CALL: phpbb\db\driver\factory->sql_query_limit()

FILE: [ROOT]/search.php
LINE: 593
CALL: phpbb\search\fulltext_mysql->keyword_search()
Предлагаемое решение
Открыть ./phpbb/search/fulltext_mysql.php
Найти

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

		$result = $this->db->sql_query_limit($sql, $this->config['search_block_size'], $start);
Перед вставить

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

		$this->db->sql_return_on_error(true); // Fix bug with SQL error if empty index
Найти

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

		if (!$result_count)
Заменить на

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

		if (!$result_count && sizeof($id_ary))
2)
Если поисковые индексы созданы, то при попытке осуществить поиск Только в текстах сообщений, форум падает с фатальной ошибкой

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

Общая ошибка
SQL ERROR [ mysqli ]

Can't find FULLTEXT index matching the column list [1191]

SQL

SELECT SQL_CALC_FOUND_ROWS p.post_id FROM phpbb_posts p WHERE MATCH (p.post_text) AGAINST ('+правильно ' IN BOOLEAN MODE) AND (p.post_visibility = 1 OR p.forum_id IN (1, 2)) ORDER BY p.post_time DESC LIMIT 250

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 999
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/mysql_base.php
LINE: 45
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 270
CALL: phpbb\db\driver\mysql_base->_sql_query_limit()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 321
CALL: phpbb\db\driver\driver->sql_query_limit()

FILE: [ROOT]/phpbb/search/fulltext_mysql.php
LINE: 594
CALL: phpbb\db\driver\factory->sql_query_limit()

FILE: [ROOT]/search.php
LINE: 593
CALL: phpbb\search\fulltext_mysql->keyword_search()
Предлагаемое решение
Найти

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

		if (sizeof($alter_list))
		{
			foreach ($alter_list as $alter)
			{
				$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter));
			}
		}
Добавить после

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

		if (!isset($this->stats['post_text']))
		{
			$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ADD FULLTEXT post_text (post_text)');
		}
Найти

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

		if (isset($this->stats['post_content']))
		{
			$alter[] = 'DROP INDEX post_content';
		}
Добавить после

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

		if (isset($this->stats['post_text']))
		{
			$alter[] = 'DROP INDEX post_text';
		}
Найти

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

		return isset($this->stats['post_subject']) && isset($this->stats['post_content']);
Заменить на

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

		return isset($this->stats['post_subject']) && isset($this->stats['post_content']) && isset($this->stats['post_text']);
Найти

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

				if ($row['Key_name'] == 'post_subject')
				{
					$this->stats['post_subject'] = $row;
				}
Добавить после

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

				else if ($row['Key_name'] == 'post_text')
				{
					$this->stats['post_text'] = $row;
				}
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Sheer, для второго уже и тикет есть https://tracker.phpbb.com/browse/PHPBB3-15224
Для инфы, версия мускла и тип таблиц БД?
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

rxu писал(а): 29.10.2017 7:44уже и тикет
Не нашел. На оффе что-то было невразумительное про 3.1
rxu писал(а): 29.10.2017 7:44Для инфы
Верно, забыл.
Сервер базы данных: MySQL(i) 5.7.16, тип таблиц InnoDB
Версия phpBB: 3.2.1 (чистая установка)
Тип базы данных: mysqli
Версия php: 7.1.0

Отправлено спустя 2 минуты 4 секунды:
А вообще там с очисткой кеша результатов поиска тоже не все нормально, ну я так думаю.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Sheer писал(а): 29.10.2017 14:55с очисткой кеша результатов поиска тоже не все нормально
Что, где, как?
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

Пример: Есть сообщение, содержащее некоторое слово, например abracadabra, если его задать как аргумент поиска, то оно попадет в кеш результатов и таблицу search_results. Если это слово тут же удалить из сообщения, или удалить это сообщение, то слово будет удалено из индекса, но если его снова задать как аргумент поиска, то оно будет найдено, хотя нигде в БД его нет, оно останется только в search_results и не будет удалено из кеша. Это будет происходить до тех пор, пока не будет очищен кеш
Результат вышеописанных действий.
Скриншот сделанный 2017-10-29 в 15.11.26-fullpage.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

В ACP -- Персонализация -- Стили при переходе по ссылке Информация в списке установленных стилей в случае, если отсутствует папка с файлами стиля, получаем ошибку, например

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

[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 2650: file(./../styles/AllanStyle-SUBSILVER/style.cfg): failed to open stream: No such file or directory
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 2653: Invalid argument supplied for foreach()
Решение:
Открыть includes/acp/acp_styles.php
Найти

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

		$style['_shown'] = true;
Добавить после

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

		$exists = file_exists(htmlspecialchars($this->phpbb_root_path . $this->styles_path_absolute . '/' . $style['style_path']) . '/style.cfg');
 		if (!$exists)
 		{
 			$style['_note'] = $this->user->lang['UNAVIALABLE'];
 		}
Найти

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

		if ($style['style_id'])
		{
			// Style is installed

			// Details
			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=details&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['DETAILS']
			);

			// Activate/Deactive
			$action_name = ($style['style_active'] ? 'de' : '') . 'activate';

			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=' . $action_name . '&hash=' . generate_link_hash($action_name) . '&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['STYLE_' . ($style['style_active'] ? 'DE' : '') . 'ACTIVATE']
			);

/*			// Export
			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=export&hash=' . generate_link_hash('export') . '&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['EXPORT']
			); */

			// Uninstall
			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=uninstall&hash=' . generate_link_hash('uninstall') . '&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['STYLE_UNINSTALL']
			);

			// Preview
			$actions[] = array(
				'U_ACTION'	=> append_sid($this->phpbb_root_path . 'index.' . $this->php_ext, 'style=' . $style['style_id']),
				'L_ACTION'	=> $this->user->lang['PREVIEW']
			);
		}
Заменить на

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

		if ($style['style_id'])
		{
			// Style is installed

			// Details
			if ($exists)
			{
				$actions[] = array(
					'U_ACTION'	=> $this->u_action . '&action=details&id=' . $style['style_id'],
					'L_ACTION'	=> $this->user->lang['DETAILS']
				);

				// Activate/Deactive
				$action_name = ($style['style_active'] ? 'de' : '') . 'activate';

				$actions[] = array(
					'U_ACTION'	=> $this->u_action . '&action=' . $action_name . '&hash=' . generate_link_hash($action_name) . '&id=' . $style['style_id'],
					'L_ACTION'	=> $this->user->lang['STYLE_' . ($style['style_active'] ? 'DE' : '') . 'ACTIVATE']
				);

				// Preview
				$actions[] = array(
					'U_ACTION'	=> append_sid($this->phpbb_root_path . 'index.' . $this->php_ext, 'style=' . $style['style_id']),
					'L_ACTION'	=> $this->user->lang['PREVIEW']
				);
			}

/*			// Export
			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=export&hash=' . generate_link_hash('export') . '&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['EXPORT']
			); */

			// Uninstall
			$actions[] = array(
				'U_ACTION'	=> $this->u_action . '&action=uninstall&hash=' . generate_link_hash('uninstall') . '&id=' . $style['style_id'],
				'L_ACTION'	=> $this->user->lang['STYLE_UNINSTALL']
			);
		}
В файлы локализации acp/styles.php добавить

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

	'UNAVIALABLE'				=> 'Отсутствуют файлы стиля',
Результат

Скриншот сделанный 2017-10-29 в 22.53.14-fullpage.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Sheer писал(а): 29.10.2017 1:28Если выбран поисковый механизм MySQL Fulltext
https://github.com/phpbb/phpbb/pull/5032

Отправлено спустя 29 секунд:
Sheer писал(а): 29.10.2017 23:53при переходе по ссылке Информация в списке установленных стилей в случае, если отсутствует папка с файлами стиля
Т.е. это в случае, если у юзера не всё хорошо с логикой? А надо это исправлять в коде?
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

Вот вроде у мня с логикой как-то вроде. Да вот снес как-то папку со стилем не задумываясь и забыл. А потом дай думаю гляну, что за стиль такой, а тут на вот те :D
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

:mrgreen:
Понятно. Давай оставим код как есть, в данном конкретном случае это не баг кода ;)
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

Как бе не бак. Но вот отсутствует защита от дурака. А должна быть. Ибо дурней среди админов не считано.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Татьяна5 »

Если программа не обрабатывает ошибку, то это баг
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Sheer »

Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение rxu »

Татьяна5 писал(а): 04.11.2017 16:05Если программа не обрабатывает ошибку, то это баг
Если удалить еще несколько файлов ядра, тоже будет ошибка. Это не баг.
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Сообщаем об ошибках phpBB 3.2.x разработчикам

Сообщение Татьяна5 »

Файлы стилей и файлы расширений частью ядра не являются. Но отсутствие файлов расширений обрабатывается, а отсутствие файлов стиля почему-то нет

Вернуться в «Поддержка phpBB 3.2.x»