Рейтинг:0

Перенос версии PHP - Плагин "" не существует

флаг in

Я использую Drupal 9.3.11 на PHP 7.3. Сайт работает отлично. Мне нужно обновиться до PHP 8, но я получаю эту ошибку.

Drupal\Component\Plugin\Exception\PluginNotFoundException: Плагин "" не существует.Действительные идентификаторы плагинов для Drupal\Core\ImageToolkit\ImageToolkitManager: gd в Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (строка 53 core\lib\Drupal\Component\Plugin\Discovery\DiscoveryTrait.php).

Drupal\Core\Plugin\DefaultPluginManager->getDefinition(NULL) (строка: 102)
Drupal\Core\Image\ImageFactory->getSupportedExtensions() (строка: 386)
Drupal\image\Entity\ImageStyle->supportsUri('public://slider-front/slider_novo_site.jpg') (строка: 274)
template_preprocess_image_style (массив, 'image_style', массив) (строка: 287)
Drupal\Core\Theme\ThemeManager->render('image_style', Array) (строка: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 479)
Drupal\Core\Template\TwigExtension->escapeFilter(Объект, Массив, 'html', NULL, 1) (Строка: 50)
__TwigTemplate_ff68c0131a8924feadb3a658b99a0e39b60fe7e6871ff9c20fd45f0a1c6eddd2->doDisplay(Array, Array) (строка: 405)
Twig\Template->displayWithErrorHandling(Array, Array) (строка: 378)
Twig\Template->display(Array) (строка: 390)
Twig\Template->render(Array) (строка: 55)
twig_render_template('themes/bootstrap_barrio/templates/field/image-formatter.html.twig', массив) (строка: 384)
Drupal\Core\Theme\ThemeManager->render('image_formatter', Array) (строка: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 934)
Drupal\views\Plugin\views\field\EntityField->render_item(0, Array) (строка: 1168)
Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender(Object) (строка: 238)
template_preprocess_views_view_field (массив, 'views_view_field', массив) (строка: 287)
Drupal\Core\Theme\ThemeManager->render('views_view_field', Array) (строка: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (Строка: 1745)
Drupal\views\Plugin\views\field\FieldPluginBase->theme(Object) (строка: 779)
Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow(Array) call_user_func_array (массив, массив) (строка: 101)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Обратные вызовы Render #pre_render должны быть методами класса, реализующего \Drupal\Core\Security\TrustedCallbackInterface, или быть анонимной функцией. Обратный вызов был %s. См. https://www.drupal.org/node/2966725', 'исключение', 'Drupal\Core\Render\Element\RenderCallbackInterface') (строка: 772)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Массив, Массив) (Строка: 363)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 718)
Drupal\views\Plugin\views\style\StylePluginBase->renderFields(Array) (строка: 584)
Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping(Array, Array) (Строка: 38)
Drupal\slick_views\Plugin\views\style\SlickViews->render(Array) (строка: 2170)
Drupal\views\Plugin\views\display\DisplayPluginBase->render() (строка: 1533)
Drupal\views\ViewExecutable->render() (строка: 131)
Drupal\views\Plugin\views\display\Block->execute() (строка: 1630)
Drupal\views\ViewExecutable->executeDisplay('block_1', Array) (строка: 81)
Drupal\views\Element\View::preRenderViewElement(Array) (строка: 59)
Drupal\views\Plugin\Block\ViewsBlock->build() (строка: 171)
Drupal\block\BlockViewBuilder::preRender(массив)
call_user_func_array (массив, массив) (строка: 101)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Обратные вызовы Render #pre_render должны быть методами класса, реализующего \Drupal\Core\Security\TrustedCallbackInterface, или быть анонимной функцией. Обратный вызов был %s. См. https://www.drupal.org/node/2966725', 'исключение', 'Drupal\Core\Render\Element\RenderCallbackInterface') (строка: 772)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Массив, Массив) (Строка: 363)
Drupal\Core\Render\Renderer->doRender(Array) (строка: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 479)
Drupal\Core\Template\TwigExtension->escapeFilter(Объект, Массив, 'html', NULL, 1) (Строка: 65)
__TwigTemplate_7a1eb4fdd27d5860cb55c9b00c20aed750382ae62ea6694627bee55885014fbc->doDisplay(Array, Array) (строка: 405)
Twig\Template->displayWithErrorHandling(Array, Array) (строка: 378)
Twig\Template->display(Array) (строка: 390)
Twig\Template->render(Array) (строка: 55)
twig_render_template('themes/bootstrap_barrio/templates/layout/page.html.twig', массив) (строка: 384)
Drupal\Core\Theme\ThemeManager->render('page', Array) (строка: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 479)
Drupal\Core\Template\TwigExtension->escapeFilter(Объект, Массив, 'html', NULL, 1) (Строка: 84)
__TwigTemplate_31a2a24787fe3ae65266581f36c28768a486bdf9651fc0c4f5454cf5c1711248->doDisplay(массив, массив) (строка: 405)
Twig\Template->displayWithErrorHandling(Array, Array) (строка: 378)
Twig\Template->display(Array) (строка: 390)
Twig\Template->render(Array) (строка: 55)
twig_render_template('themes/bootstrap_barrio/templates/layout/html.html.twig', массив) (строка: 384)
Drupal\Core\Theme\ThemeManager->render('html', массив) (строка: 422)
Drupal\Core\Render\Renderer->doRender(Array, ) (строка: 201)
Drupal\Core\Render\Renderer->render(Array) (строка: 162)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent{закрытие}() (строка: 564)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (строка: 163)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (строка: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func (массив, объект, 'kernel.view', объект) (строка: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (строка: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (строка: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (строка: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (строка: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (строка: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (строка: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (строка: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (строка: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (строка: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (строка: 23)
Stack\StackedHttpKernel->дескриптор (объект, 1, 1) (строка: 708)
Drupal\Core\DrupalKernel->дескриптор (объект) (строка: 19)

Хотя версия 7.3 работает отлично, отчет о состоянии содержит следующее:

введите описание изображения здесь

4uk4 avatar
флаг cn
Проверяли ли вы в отчете о статусе какие-либо жалобы Drupal на новый пакет PHP, особенно на Image Toolkit?
vctlzac avatar
флаг in
@ 4uk4 спасибо за ваш вклад, но я не нашел в этом никаких проблем.
флаг cn
Вам нужно установить те же расширения PHP для новой версии, которые были доступны в старой (или, по крайней мере, те, которые относятся к Drupal). Например, для GD это может быть «apt install php8.0-gd» в Ubuntu с PPA-репозиторием ondrej/php. Вам также может не хватать zip, xml, curl, mbstring и других.
apaderno avatar
флаг us
Если расширение GD или любое необходимое расширение не установлено, отчет о состоянии жалуется на ошибку *Drupal требует, чтобы вы включили расширения PHP в следующем списке*.
apaderno avatar
флаг us
Есть две ошибки: одна связана с плагином image toolkit с пустым идентификатором, другая связана с обратным вызовом #pre_render с неправильным значением.
4uk4 avatar
флаг cn
Интересно, что вторая ошибка не останавливает выполнение кода. Это также не связано с версией PHP, это вызвано обновлением Drupal 8 до 9. Таким образом, он не работает с Drupal 9 идеально, как говорит OP. Они должны сначала исправить эту ошибку и добавить дополнительную информацию о среде PHP 8.0.
vctlzac avatar
флаг in
@Clive Я использую XAMPP в Windows после отправки на веб-хостинг. Опыт, который у меня был, заключается в том, что обычно при установке XAMPP он уже содержит все необходимое для запуска drupal.
vctlzac avatar
флаг in
@Clive Ошибка не позволяет мне получить доступ к отчету о состоянии. Глядя на отчет о состоянии в PHP версии 7.3, единственная ошибка — это та, которую я обновил выше, в вопросе. Может ли быть связана ошибка веб-формы?
vctlzac avatar
флаг in
Я использую подтему, созданную в баррио. Я тоже не знаю, может ли это быть проблемой. https://www.drupal.org/project/bootstrap_barrio
Рейтинг:0
флаг in

В php.ini (версия 7) расширение gd включается следующим кодом:

расширение=gd2

Но в php.ini версии PHP 8 команда extension=gd2 не работает. Правильная команда:

расширение=gd

Я пытался использовать команду версии 7 в версии 8. Я удаляю символ «2», и проблема решена.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.