unexpected '[' in h5p.classes.php

Главные вкладки

Аватар пользователя univerico univerico 7 ноября 2018 в 1:11

Здравствуйте! Возникла проблема со специфическим типом материала h5p
Там есть определенный набор подтипов материала еще внутри него. Т.е. на странице add content среди других (book, page и т.д.) выбирается этот h5p и потом уже на странице создания материала нужно выбрать подтип (множественный выбор, один ответ, вписать ответ и т.д.) Раньше нужно было подгружать библиотеки вручную. Сейчас они через UI добавили какой-то "hub" и библиотеки подгружаются прямо через UI.
На одном сайте все работало, но на одном из списка в UI пропал один подтип.
Загрузка библиотеки врунчую не помогла. При попытке выключить модуль, удалить его папку и перезалить снова
Error: syntax error, unexpected '[' in .../sites/all/modules/h5p/library/h5p.classes.php, line 4365

в логах

PHP Parse error: syntax error, unexpected '[' in ...sites/all/modules/h5p/library/h5p.classes.php on line 4365, referer: https://...content/35345

В этом файле

На форуме h5p пока нет ответа на эту тему.

При этом если модуль включен, то на всем сайте ошибка 500.
Если выключен, то исчезают все ноды, которые с ним создавались и уже проиндексировались, а там уже много накопилось.

Как это поправить?
Как наладить работу недостающего подтипа правильно, как починить сайт (кроме бэкапа). Что не так в том h5p.classes.php файле?

Лучший ответ

Аватар пользователя ivnish ivnish 7 ноября 2018 в 7:07
1

Используется короткий синтаксис массивов, а PHP на сервере меньше версии 5.4

Используйте PHP более свежих версий, хотя бы 7.1

Комментарии

Аватар пользователя ivnish ivnish 7 ноября 2018 в 7:07
1

Используется короткий синтаксис массивов, а PHP на сервере меньше версии 5.4

Используйте PHP более свежих версий, хотя бы 7.1

Аватар пользователя univerico univerico 7 ноября 2018 в 10:16

Спасибо.
Тогда пока вижу два варианта решения
а)повысить php
(но на Друпал 7 у некоторых модулей были проблемы даже с 5.6., так что может и не получиться )
но буду пробовать
б)закачать старую версию модуля на сайт вручную, потому что старая работала на этой версии php
Буду пока делать.
Сайт пока пришлось восстановить с помощью drush arr
drush arr /home/.../drush-backups/archive-dump/20181101193701/dumpname.tar.gz
Я так понимаю в таком случае он и бд сам как-то восстанавливает до состояния на момент создания этого дампа с помощью drush arb?
И еще вопрос может ли быть что из-за конфликта версий один подтип не открывался или какая-то другая причина? Как ее найти тогда?

Аватар пользователя ivnish ivnish 7 ноября 2018 в 10:43

но на Друпал 7 у некоторых модулей были проблемы даже с 5.6

Не встречал таких модулей.

потому что старая работала на этой версии php

Старые версии PHP дадут вам еще кучу проблем в будущем. Рекомендую использовать PHP 7.1. Если будут какие-то проблемы с модулями, создадите пост, мы подскажем.

Аватар пользователя VasyOK VasyOK 7 ноября 2018 в 10:33

"но на Друпал 7 у некоторых модулей были проблемы даже с 5.6" Да были. На своих сайтах не сейчас вижу. Скорее с 5.3 уже много что не совместимо.

Аватар пользователя univerico univerico 7 ноября 2018 в 10:50

Да, это специфические модули. Там был модуль что-то типа рабочего пространства онлайн с совместимостью с онлайн "комнатой" типа скайпа. Уже не помню название. он работал только с 5.3. Но были другие сложнсоти с ним, пришлось все равно от него отказаться. И еще какие-то тоже требовали 5.3. уже сейчас не помню названия.