Здравствуйте!
Пробую движок форума ExBB 1.1.3 на OpenServer.
Перехожу в тему администратором. Ниже сообщений слева есть выпадающий список. Выбираю "Правка заголовка" и "Go". Открывается страница "Правка заголовка темы". И вот тут появляется сообщение:
- "Only variables should be passed by reference in E:\OpenServer\domains\exbb\postings.php on line 518".
Попробовал перевести это сообщение и заглянуть на стр. 518 в указанном файле - ничего не понял. Подскажите, пожалуйста, что с этим делать?
1. Vlad - 23 января 2017 — 20:29 - перейти к сообщению
2. Taki - 23 января 2017 — 22:24 - перейти к сообщению
Vlad пишет:
Выбираю "Правка заголовка" и "Go".
У меня все норально
3. Vlad - 24 января 2017 — 13:21 - перейти к сообщению
Может настройки сервера у меня "мягче" чем у вас.
4. electron - 24 января 2017 — 18:59 - перейти к сообщению
подтверждаю, ошибка имеется. причем вылезает только если на сервере установлен php 7, на пятерках работает прекрасно.
решение проблемы : в данной строке заменить reset на current
проблема в этом коде (Отобразить)
ругается на эту строку (Отобразить)
решение проблемы : в данной строке заменить 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. Полагаю, что с другими настройками серверов ошибки не видны, но всё же имеются.
Как временный выход из положение можно в этих строках поставить знак @. Т. е. будет так:
Зайти админом в тему. Над первым сообщением или под последним есть ссылка "Добавить опрос". Переходим по ней и в новом окне будет сообщение 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
$firstkey = @reset(array_keys($threads)); // стр. 1036
6. Александр Михалицын - 30 января 2017 — 21:37 - перейти к сообщению
Vlad,
лучше сделать не так.
Смотрите. Ошибка:
Только переменные могут быть переданы по ссылке. Логично? Логично.
А на этой строчке функции reset, принимающей массив по ссылке (!) передается неизменяемое значение! Можно поправить так:
Аналогично и в другой строчке.
лучше сделать не так.
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