carbon/vips

在您的Neos CMS安装中启用Vips

1.0.1 2023-02-01 13:46 UTC

This package is auto-updated.

Last update: 2024-08-29 17:13:22 UTC


README

Latest stable version Total downloads License GitHub forks GitHub stars GitHub watchers

Carbon.Vips:Neos和Flow的快速图像处理

您的Neos网站或Flow应用程序通常使用ImageMagickGD来渲染您照片的小版本或其他媒体资产的预览。虽然这些库功能强大,但处理图像需要大量内存。Neos页面上有许多缩略图时,很容易消耗数百兆字节RAM来创建相应的图像文件。当原始资产相当大或您需要处理动画GIF时,您甚至可能需要数十亿字节RAM来渲染该页面。

许多主机和Docker镜像提供了libvips,这是一个低级代码库,可以执行几乎所有像ImageMagick一样的事情,但速度更快,内存占用相对较小。

建议您将所有Flow和Neos项目配置为使用Vips而不是ImageMagick。

开始之前

当您为项目启用Vips时,您还需要在开发环境中启用Vips支持。

原因在于,您需要能够运行composer update。提供Vips支持的包(rokka/imagine-vips)依赖于vips PHP扩展,如果您未启用该扩展,Composer会抱怨平台需求未满足。

解决方案很简单:只需为您的本地环境安装PHP Vips。但请确保您的团队中所有运行composer update的人也安装了Vips。

为您的开发环境安装PHP Vips

ddev

只需将以下行添加到您的ddev config.yaml 文件中

webimage_extra_packages:
  - php8.1-vips

添加后,您可以通过运行 ddev restart 重新启动容器,然后即可开始使用!

注意:请设置vips包的正确PHP版本

本地安装

对于您的开发环境,您需要安装两个库

  1. 为您的操作系统安装Vips库
  2. 一个PHP扩展,它为此低级库提供绑定

安装过程在php-vips-ext项目站点上有解释。例如,如果您的开发系统是Mac,并且您使用Homebrew作为包管理器,则安装步骤如下

首先安装libvips系统库

brew install vips

然后,安装php-vips扩展。此扩展通过PECL安装,并将针对您的当前PHP版本编译库

pecl install vips

当一切正常时,您应该能够在命令行运行 php -m 时看到列表中的 vips

如果列表中没有 vips,您需要在PHP配置中启用扩展,例如通过在PHP的 conf.d/ 文件夹中创建一个新文件 ext-vips.ini

extension=vips.so

注意

本README中的许多部分来自Flownative关于vips的博客文章