Concrete5:无法从给定的输入创建图像

Concrete5: An image could not be created from the given input

使用 Concrete5 8.1,我在每一页上都收到错误 An image could not be created from the given input

我创建了自定义主题、自定义缩略图大小和自定义页面类型,大部分网站内容都已输入,一切正常。在网站上线之前查看该网站时,我注意到大多数图片都是作为相当大的图片上传的(2000-4000 像素宽,没有什么特别大的,但大到我想做点什么)。

Concrete5 documentation的基础上,添加了如下代码:

  public function getThemeResponsiveImageMap() {
    return array(
      'timeline_gallery' => '0'
    );
  }

timeline_gallery缩略图在项目开始时就已经存在,所以所有的图片应该都有这个缩略图。但是当我刷新页面时,我看到错误:An image could not be created from the given input.

Google 找到了很多关于此错误的条目:可能与 GD 无法处理 SVG、PNG 或非常大的图像有关,解决方案是在文件管理器中解决问题图像。但是,我无法进入文件管理器 - 我无法进入网站上的任何页面,包括任何仪表板页面(都显示相同的错误)。

然后我删除了上面的 5 行代码(过去 24 小时内发生的唯一代码更改)并保存 page_theme.php,但我仍然在每一页上看到相同的错误。

如果能够修正图像尺寸就太好了,但在这一点上,我只想清除错误并使网站重新运行。我查看了 Apache 日志以了解有关错误的任何细节(没有帮助,因为错误没有显示),我重新启动了 Apache,然后重新启动了机器(都无济于事)。由于代码与网站今天早些时候运行时的代码相同(并且所有内容编辑人员都离开了,因此没有发生任何内容更改),我猜测文件系统或数据库中可能有一个队列,要调整大小的图像,其中一个导致了问题...但这只是一个猜测。

修改FileImageThumbnailPathstable即可清除错误。

  1. 找到 table 条目,其中 isBuilt 为 0。

    SELECT * FROM FileImageThumbnailPaths WHERE isBuilt = 0;
    
  2. 在结果中,将条目 isBuilt 列更改为 1。

如果您有多个条目要更改,您可以一次全部更改。

UPDATE FileImageThumbnailPaths SET isBuilt = 1 WHERE isBuilt = 0;

使用 phpMyAdmin:

  • select 你的 concrete5 数据库
  • 单击右侧窗格顶部菜单栏中的 SQL 选项卡
  • 在文本区,可以输入SQL查询

在对数据库进行任何更改之前,请对您的数据库和站点文件进行完整备份。