Drupal 8 警告:非法字符串偏移 'name' DrupalBootstrapStyles.php

Posted

技术标签:

【中文标题】Drupal 8 警告:非法字符串偏移 \'name\' DrupalBootstrapStyles.php【英文标题】:Drupal 8 Warning: Illegal string offset 'name' DrupalBootstrapStyles.phpDrupal 8 警告:非法字符串偏移 'name' DrupalBootstrapStyles.php 【发布时间】:2020-02-11 13:53:52 【问题描述】:

我有这个错误(警告:Drupal\bootstrap\Plugin\Provider\DrupalBootstrapStyles->Drupal\bootstrap\Plugin\Providerclosure() 中的非法字符串偏移 'name')(第 71 行主题\bootstrap \src\Plugin\Provider\DrupalBootstrapStyles.php).) 当我打开我网站的网页时。如果有人知道如何解决这个问题。我使用来自 (bootstrap 3 for drupal) 的子主题 错误链接图片:

https://drive.google.com/file/d/1An9ZDdhDKibK5UnOfvOl821sKd0MdPFP/view

【问题讨论】:

一般来说,这个错误意味着你正在做类似$test = 'some string'; 然后类似$name = $test['name'] 的事情,无论你使用的任何变量都应该是一个数组,但它不是。检查您提供给该类的数据 @WesleySmith 是的,但我使用的是 Drupal 8,我没有接触任何源代码。我不知道我应该做什么。寻找引导主题?或更新核心?或者到底是什么 Id 首先查看主题\bootstrap\src\Plugin\Provider\DrupalBootstrapStyles.php 的第 71 行,弄清楚它究竟试图从中获取“名称”索引并从那里返回.我猜它在设置视图或模型或任何为页面/应用程序提供动力时缺少某种配置或设置不正确。 drupal-bootstrap.org/api/bootstrap/… 显示第 71 行正在循环 $data['files'] 并试图获取 $file['name'],也许在您的配置中的某个地方有一个字符串文件名数组,应该是一个数组数组?跟着回到 $data['files'] 的来源 @WesleySmith Im 使用字段类型 Image(无限制)。我会检查的 【参考方案1】:

在我们的一个环境中也看到了这一点,有一种解决方法(禁用 cdn 设置和另一个步骤)

请参阅下面的解释和问题线程 https://www.drupal.org/project/bootstrap/issues/3113579

【讨论】:

谢谢@Joseph 我会用它 我的补丁可能不需要,还有另一种解决方法,请参阅上游问题,引导程序中有一个设置禁用 cdn drupal.org/project/bootstrap/issues/3113579#comment-13468303 我们最终还是为一个几乎可以投入生产的知名网站使用了我自己的补丁,它太复杂而无法找到另一种解决方法,或者我们只是转向其他挑战并接受这个解决方案。 仍在使用我创建的补丁,这里是最新 bootstrap 8.x-3.23 版本的重新发布的补丁:drupal.org/project/bootstrap/issues/3113579#comment-13873704【参考方案2】:

我也得到了这个,但它只发生在 IIS 中。在我的 XAMPP 服务器上它很好。其他人使用 IIS?

此外,如果我在无法访问 Internet 的开发服务器上运行它,应该有一个备用选项。似乎有从 php 代码对 Cdn 的外部调用以加载 Bootstrap 样式...

【讨论】:

好的,我创建了一个补丁,它在全局范围内添加了缺少的 css,并为提供程序插件上的未定义索引执行了 if isset。 drupal.org/project/bootstrap/issues/3113579#comment-13464878 我的补丁可能不需要,还有另一种解决方法,请参阅上游问题,引导程序中有一个设置禁用 cdn drupal.org/project/bootstrap/issues/3113579#comment-13468303 注意:我刚刚为此重新发布了补丁修复程序,此处的补丁程序 16:drupal.org/project/bootstrap/issues/3113579#comment-13873704

以上是关于Drupal 8 警告:非法字符串偏移 'name' DrupalBootstrapStyles.php的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中修复警告非法字符串偏移

PHP 警告:jwt 的非法字符串偏移

更新后的Wordpress“非法字符串偏移”

Laravel 4 - 警告:isset 中的非法偏移类型或 \bootstrap\compiled.php 中为空

渲染模板期间抛出异常(“警告:isset 中的偏移类型非法或为空”)

非法字符串偏移'tmp_name'cakephp3