- How do I install intervention/image-driver-vips in a Laravel application?
- Install it with Composer, but treat that as only half the job: the driver also needs the libvips system library and a PHP binding such as php-vips or ext-vips available in the runtime. In Laravel, publish or edit config/image.php to select the VIPS driver, then confirm the extension is loaded in the same PHP process that handles uploads. For Docker, add libvips-dev at build time and libvips at runtime, and pin the library version.
- Is intervention/image-driver-vips compatible with Intervention Image 3?
- Yes, the package is built as a native VIPS driver for Intervention Image v3 and plugs into its driver contract behind ImageManager. Application code that calls resize, crop, rotate, or toWebp should not need to change when you swap drivers. Before adopting it, confirm which v3 minor versions are supported and whether that range is covered in CI, because a new interface method in a v3 release can break the driver.
- What are the system requirements for the VIPS driver (libvips, php-vips, ext-vips)?
- You need the libvips C library installed on the host or container, plus a PHP binding such as the php-vips Composer package or the ext-vips extension. This is not a pure Composer install like GD or Imagick, and shared hosting usually cannot satisfy it. Check the package README for the minimum libvips version and whether it expects ext-vips or a CLI/FFI-backed binding.
- Does intervention/image-driver-vips work in Docker or Kubernetes?
- Docker and Kubernetes are the best fit: add libvips-dev to the build stage, install the runtime libvips package in the final image, and install php-vips or ext-vips in the PHP image. Pin the libvips and PHP extension versions so image output stays reproducible across deploys. Kubernetes needs the same image changes; there is no separate cluster-level requirement beyond resource limits for CPU-heavy image jobs.
- Is intervention/image-driver-vips faster and lower memory than GD or Imagick?
- libvips is generally much faster and more memory-efficient than GD or Imagick, especially for large images, thumbnails, and batch conversion jobs. The driver wrapper itself is low-adoption, so benchmark your actual workload rather than assuming the gains apply to every pipeline. Measure peak memory in PHP-FPM workers and tune VIPS_CONCURRENCY against pm.max_children so image jobs do not starve web requests.
- Can I use intervention/image-driver-vips on shared hosting or cPanel?
- Usually no. Shared hosting and cPanel environments typically lack the libvips library and the PHP vips extension, and you usually cannot install system packages without root. Use a VPS, Laravel Forge, Docker, or another environment where you control the PHP build. If you cannot install libvips, stay with GD or Imagick rather than trying to force this driver.
- How do I configure the VIPS driver in Laravel's config/image.php?
- Register the driver class in config/image.php, or resolve it through Intervention Image's ImageManager and pass it to the manager in a service provider. The goal is a configuration-level substitution so existing resize, crop, and encode calls keep working unchanged. After switching, run a smoke test that loads a JPEG, WebP, and PNG through the driver and confirms the expected output format.
- Which Intervention Image methods does the VIPS driver support?
- The package advertises resizing, cropping, rotation, and format conversion, which covers common upload and thumbnail pipelines. Intervention Image's driver interface is much broader, including drawing, text, canvas, effects, trim, and colour operations, and parity with AbstractDriver is not confirmed in the overview. Ask for a method-coverage matrix and know which methods throw or behave differently before you swap drivers in production.
- Will switching to VIPS change image output or break EXIF and ICC handling?
- It can. GD, Imagick, and libvips differ on EXIF autorotation, ICC profile retention, alpha handling, chroma subsampling, and resampling kernels, so the same PHP call can produce different pixels. Add perceptual regression tests such as SSIM or dHash comparisons against golden images before rollout. Also verify animated GIF, WebP, multi-page TIFF, and HEIC behavior if your application accepts those formats.
- Is intervention/image-driver-vips production-ready and who maintains it?
- Treat it as unproven rather than bad: libvips itself is mature, but this wrapper has low adoption, an unknown repository, and registry metadata that needs verification. Read the source, confirm the MIT licence, check the release cadence, and look for a security disclosure channel before running it against user uploads. If maintenance responsiveness or feature parity is unclear, keep the Imagick driver for critical paths and pilot VIPS on batch or non-blocking jobs.