php8 и Drupal7

Аватар пользователя WillWe WillWe 21 января в 7:30

Народ, как думаете, Друпал7, а также его модули, на php8 когда-нибудь будут работать нормально, или это уже фантастика и можно даже не надеяться?
Сейчас, если попробовать, то там просто куча варнингов вида
Warning:  Undefined array key "REMOTE_ADDR" in /includes/bootstrap.inc on line 3272
+ Fatal Error's
Некоторые исправил вручную сам, но они продолжают валиться изо всех щелей, короче сайтик так и не запустился ) Пришлось на сервере отдельную версию для него 7.4 запускать

Комментарии

Аватар пользователя ivnish ivnish 21 января в 8:38

Ядро то будет поддерживать, а вот 90% контрибных модулей уже не поддерживаются их авторами. Тут или на Drupal 9 переезжать или самим патчить те контрибы, которые не дружат с php 8

Аватар пользователя WillWe WillWe 21 января в 10:35

Да, 3 ошибки, которые приводят к сообщению 500, находятся именно в ядре.
bootstrap.inc
file.inc
stream_wrappers.inc
файлы.
Там всего то лишь: Путь не может быть пустым. для функции fopen или file_put_contents.
Я это поправил, вставив условие для проверки на пустоту и return false в случае чего.
Да, оно заработало, но это ж после каждого апдейта что ли фиксить?
Неужели команда друпала не может сделать подобные вшивые правки?
Вопрос конечно риторический.
Тем более, я не вникал особо, почему этот путь может быть пустым и что собственно в таких случаях на самом деле нужно делать...
А вообще, мысль конечно здравая - на друпал 9 надо.
Правда скорее всего автоматом это сделать не получится, придётся саётик переписывать с 0.

Аватар пользователя ivnish ivnish 21 января в 10:41

Судя по этому issue, ядро Drupal 7 уже должно быть совместимо с PHP 8. Поищите issue с вашими проблемами на drupal.org. Да и тут тоже указано, что поддержка PHP 8 есть, но с версии 7.79

Аватар пользователя bsyomov bsyomov 21 января в 15:04

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

Там всего то лишь: Путь не может быть пустым. для функции fopen или file_put_contents.

Часто это значит, что какой-то модуль их не смог корректно сформировать, а не то, что надо везде расставить проверки значений.

Аватар пользователя marassa marassa 21 января в 13:19
1

WillWe wrote: Неужели команда друпала не может сделать подобные вшивые правки?

А кто такая "команда друпала", и почему Вы считаете, что она Вам что-то должна?

Аватар пользователя jura12 jura12 22 января в 21:22

пробовал выставить пхп 8 так сайт вообще перестал показываться. вернул обратно на 7.4 все заработало как прежде.