prolixlib/imagine
prolixlib/imagine is a Laravel/PHP package that integrates the Imagine image manipulation library, offering a convenient, framework-friendly API for resizing, cropping, and processing images so common image workflows are easier to build and maintain.
This release (2.0.3) removes the package's preflight check for PHP's allow_url_fopen setting. That is the first thing to understand: the package no longer blocks installation or bootstrapping on hosts where allow_url_fopen=Off — common on hardened shared hosting and some container images. The package still needs a working transport for remote URLs, so verify ext-curl and/or Guzzle are available before your first real request.
Minimal steps:
composer require the package at ^2.0.3.php artisan vendor:publish --tag=...) and review timeout, retry, and transport options.First use case: perform a single remote retrieval inside a queued job rather than a web request. This validates the transport, surfaces TLS/DNS/timeout issues early, and mirrors how you should use the package in production.
allow_url_fopen, transport failures now appear at request time. Use $tries, backoff(), and retryUntil() on the job, and let the package's exceptions bubble to the queue worker.config/...php. Put base URLs, timeouts, user agents, and auth headers there; read them via config(). Avoid scattering URLs through controllers.Http facade, Http::fake() and Http::assertSent() are the fastest way to test integration without network access.Cache::remember() and add a RateLimiter when hitting third-party APIs. The package handles retrieval; your app should handle politeness and cost.allow_url_fopen check moves failure later. Previously you got a clear boot-time error; now a host with allow_url_fopen=Off may fail only when a request runs. Add a health check or a smoke-test command that performs one fetch and alerts on transport errors.file_get_contents() works for remote URLs. Even though the guard is gone, PHP still refuses remote file_get_contents() when allow_url_fopen=Off. Ensure the package's transport uses cURL/Guzzle, and confirm ext-curl is installed (php -m | grep curl).php artisan config:clear after updating; stale cached config is a common cause of "why is it still doing X?" behavior.php -i | grep allow_url_fopen, verify DNS and TLS from the host, and test with a known-good URL before blaming the package.How can I help you explore Laravel packages today?