carbon / vips
在您的Neos CMS安装中启用Vips
Requires
- jcupitt/vips: ^1.0
- rokka/imagine-vips: ^0.31.0
README
Carbon.Vips:Neos和Flow的快速图像处理
您的Neos网站或Flow应用程序通常使用ImageMagick和GD来渲染您照片的小版本或其他媒体资产的预览。虽然这些库功能强大,但处理图像需要大量内存。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版本
本地安装
对于您的开发环境,您需要安装两个库
- 为您的操作系统安装Vips库
- 一个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的博客文章。