ExBB Community » Файловый ExBB » Решение проблем » Ошибка при редактировании заголовка

Страниц (1): [1]
 

1. Vlad - 23 января 2017 — 20:29 - перейти к сообщению
Здравствуйте!
Пробую движок форума ExBB 1.1.3 на OpenServer.
Перехожу в тему администратором. Ниже сообщений слева есть выпадающий список. Выбираю "Правка заголовка" и "Go". Открывается страница "Правка заголовка темы". И вот тут появляется сообщение:
- "Only variables should be passed by reference in E:\OpenServer\domains\exbb\postings.php on line 518".

Попробовал перевести это сообщение и заглянуть на стр. 518 в указанном файле - ничего не понял. Подскажите, пожалуйста, что с этим делать?
2. Taki - 23 января 2017 — 22:24 - перейти к сообщению
Vlad пишет:
Выбираю "Правка заголовка" и "Go".

У меня все норально
3. Vlad - 24 января 2017 — 13:21 - перейти к сообщению
Может настройки сервера у меня "мягче" чем у вас.
4. electron - 24 января 2017 — 18:59 - перейти к сообщению
подтверждаю, ошибка имеется. причем вылезает только если на сервере установлен php 7, на пятерках работает прекрасно.
проблема в этом коде (Отобразить)

ругается на эту строку (Отобразить)

решение проблемы : в данной строке заменить reset на current
5. Vlad - 25 января 2017 — 11:41 - перейти к сообщению
Ещё нашлась похожая ошибка в этом же файле на строке 1036.
Зайти админом в тему. Над первым сообщением или под последним есть ссылка "Добавить опрос". Переходим по ней и в новом окне будет сообщение Strict standards: Only variables should be passed by reference in E:\OpenServer\domains\exbb\postings.php on line 1036.
Несмотря на сообщения в обоих случаях скрипт работает нормально.

Это происходит у меня c форумом на OpenServer. Полагаю, что с другими настройками серверов ошибки не видны, но всё же имеются.

Как временный выход из положение можно в этих строках поставить знак @. Т. е. будет так:
CODE:
$first = @reset($fm->_Read('forum' . $forum_id . '/' . $topic_id . '-thd.php')); // стр. 518
$firstkey = @reset(array_keys($threads)); // стр. 1036
6. Александр Михалицын - 30 января 2017 — 21:37 - перейти к сообщению
Vlad,
лучше сделать не так.

CODE:
$firstkey = @reset(array_keys($threads)); // стр. 1036

Смотрите. Ошибка:
Цитата:
Only variables should be passed by reference

Только переменные могут быть переданы по ссылке. Логично? Логично.
А на этой строчке функции reset, принимающей массив по ссылке (!) передается неизменяемое значение! Можно поправить так:
CODE:
$firstkey = current(array_keys($threads)); // стр. 1036


Аналогично и в другой строчке.
7. Vlad - 31 января 2017 — 11:37 - перейти к сообщению
Выход из ситуации делал так:
CODE:
$arr= array_keys($threads); $firstkey = reset($arr); // стр. 1036
Но ваш способ, Александр Михалицын, правильней и красивее. Спасибо, воспользуюсь!

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0457]     [ ]