Diagnostics

Last updated: August 21st 2026

There is no generated-image database table. Cleanup is conservative and explicit.

Doctor

php eecli.php super_images:doctor
php eecli.php super_images:doctor --json
Checks are grouped:
Core · Drivers · Optimizers · Storage · Delivery · Queue · Sources

Including:

  • add-on enabled
  • GD / Imagick / Libvips usable (libvips requires the native library, not only php-vips)
  • selected driver + supported formats
  • optimizer binaries (each on its own row with resolved path)
  • local storage / markers / temp writable
  • runtime signing when generate-before-page-load is false
  • queue availability (BoldMinded Queue add-on + autoGenerate.queue )
  • local and remote sources allow-lists

Statuses: pass / warn / fail .

Optimizer status

A binary not found on PATH is WARN, not pass — even when the format still works via native encoding.

ConditionBadge
Any check failNeeds attention
Queue has failed jobsWarnings
Otherwise (including optimizer WARNs only)Healthy

Missing optional optimizers do not block transforms; native driver encoders still produce output.

Queue hint

When the queue add-on is not installed but autoGenerate.queue is true, doctor reports WARN with:

Install the BoldMinded Queue add-on, then set autoGenerate.queue => true in system/user/config/super_images.php.

When autoGenerate.queue is false, inline generation is expected and queue absence is PASS.

Also available in CP → Diagnostics (same layout as other CP pages — hero, pass/warn/fail counts, grouped table).

Cleanup
php eecli.php super_images:cleanup --previews --dry-run
php eecli.php super_images:cleanup --file=123 --dry-run
php eecli.php super_images:cleanup --orphaned --dry-run
php eecli.php super_images:cleanup --all --retention-days=365 --dry-run

Safe by design

May remove:

  • abandoned Playground files under preview/ older than retention
  • indexed derivatives you explicitly target ( --file, --orphaned, --all)

Must not remove:

  • File Manager originals
  • unknown files outside Super Images prefixes
  • production derivatives solely because “usage this second” cannot be proven
Config
'cleanup' => [
    'previewRetentionDays' => 2,
    'generatedRetentionDays' => 365,
    'allowRemoteScan' => false,
],

Remote full scans are off by default.


Status without false precision

Prefer:
php eecli.php super_images:status
php eecli.php super_images:config --file=123

over dashboards that invent library-wide derivative counts.