- What is h4cc/wkhtmltoimage-amd64 and what does it do?
- h4cc/wkhtmltoimage-amd64 is a Composer package that delivers a statically compiled wkhtmltoimage executable for 64-bit Linux/amd64. It contains no PHP application code; it simply puts the binary in vendor/bin so Laravel or other PHP projects can shell out to it for HTML-to-image conversion. Pin version 0.12.4 to match the binary release.
- How do I install h4cc/wkhtmltoimage-amd64 in a Laravel project?
- Run composer require h4cc/wkhtmltoimage-amd64 at version 0.12.4 in your Laravel project. Composer installs the package and exposes a symlink under vendor/bin. Commit the composer.json and composer.lock changes, and ensure your deployment target is Linux amd64 with compatible glibc and fonts.
- Where is the wkhtmltoimage binary installed after Composer require?
- After installation the executable is at vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64, and Composer creates a vendor/bin/wkhtmltoimage-amd64 symlink. Configure your wrapper or Snappy binary path to that vendor/bin path. Confirm the file is executable in your deployment image.
- Does h4cc/wkhtmltoimage-amd64 work on macOS or Apple Silicon?
- No. This package ships a Linux amd64 binary, so it does not run natively on macOS or Apple Silicon/ARM hosts. Use a Linux amd64 container, emulation, or a separate renderer for local development and CI on those platforms. Plan this before adopting the package so developers are not blocked.
- How do I use h4cc/wkhtmltoimage-amd64 with Laravel Snappy?
- barryvdh/laravel-snappy is a common wrapper; point its binary path to vendor/bin/wkhtmltoimage-amd64 and keep rendering behind a service or queued job. Snappy handles the PHP-side invocation, but this package only supplies the wkhtmltoimage binary. Validate output and set timeouts because the underlying engine can hang or fail.
- Can h4cc/wkhtmltoimage-amd64 safely render untrusted HTML?
- Rendering untrusted HTML is risky: wkhtmltoimage can be used for SSRF, local-file access, resource exhaustion, or shell injection if arguments are not strictly controlled. Do not pass user input directly as command arguments; use fixed options and safe temporary files. Run rendering in isolated workers with restricted network and filesystem access, and treat generated output as untrusted.
- What Laravel or PHP version is required for h4cc/wkhtmltoimage-amd64?
- Laravel and PHP version compatibility is mostly irrelevant because the package contains no PHP code. The real compatibility surface is the host: Linux amd64, glibc, installed fonts, TLS libraries, and process execution from PHP. Verify those in your container base image rather than relying on a Laravel version constraint.
- How should I handle timeouts and failed image generation in production?
- Wrap calls in a dedicated renderer with strict timeouts, process cleanup, and output validation. Run rendering on queue workers with concurrency limits and monitor for hangs, segfaults, memory growth, blank images, TLS failures, and zombie processes. Avoid synchronous rendering in web requests except for low-volume internal tooling.
- Is h4cc/wkhtmltoimage-amd64 maintained, or should I migrate to Chromium?
- Treat it as effectively unmaintained: the last release was 2018 and upstream wkhtmltopdf/QtWebKit has no active security patching. That means no security patches for QtWebKit vulnerabilities and weak ecosystem maintenance signals. Budget for internal ownership or a migration path to headless Chromium, and define triggers such as a security finding or rendering failure.
- What are alternatives to h4cc/wkhtmltoimage-amd64 for HTML-to-image in Laravel?
- For modern CSS/JS and a maintained security posture, use a headless Chromium-based renderer such as Puppeteer or a Chromium-backed Laravel service. Keep this package only for low-fidelity, internal, asynchronous image generation where Chromium is too heavy. Abstract rendering behind an interface so you can swap implementations without changing application code.