October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

Fix PHP Browsershot Screenshots When Chrome Is Not Found

Browsershot’s Chrome errors can mean a missing Puppeteer download, an invisible executable path, or a browser that cannot launch. Use the error and PHP runtime context to find the right fix.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If PHP Browsershot reports that Chrome cannot be found, first determine whether Puppeteer failed to install its browser, the PHP-launched Node process cannot see the browser’s cache or executable path, or Chrome is present but cannot start. For Browsershot v4, Spatie documents Node.js 22.0 or newer and Puppeteer 23.0 or newer. Check your installed Browsershot version before applying those requirements to another major version.

Identify which step is failing

Browsershot asks Node and Puppeteer to control a browser. These are separate failure points: PHP may not find Node or npm; Puppeteer may not find Chrome; or Chrome may be found but fail during startup. The complete error text and the process that produced it help distinguish them.

  • “Could not find Chrome” or “Could not find expected browser”: investigate whether the browser was installed, where Puppeteer expects its cache, and whether the PHP runtime can access it.
  • A spawn error such as ENOENT: check whether the configured executable path exists in the application’s runtime filesystem.
  • “No usable sandbox!” or missing shared-library errors: Chrome was located but could not launch. Troubleshoot the sandbox or operating-system dependencies rather than changing the browser path.

Write down the full error and the installed Browsershot, Node.js, and Puppeteer versions. Spatie’s current Browsershot v4 requirements specify Node.js 22.0+ and Puppeteer 23.0+; do not assume those minimums apply to another Browsershot major version.

Check whether Puppeteer installed a browser

The standard puppeteer package normally downloads a compatible Chrome for Testing browser during installation. A successful package installation does not guarantee that the browser download ran: package-manager settings can block install scripts. Puppeteer documents the manual install command as npx puppeteer browsers install.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Samsung 14" Galaxy Chromebook Go Laptop PC Computer, Intel Celeron N4500 Processor, 4GB RAM, 64GB Storage, ChromeOS, XE340XDA-KA2US, Student Laptop, Silver
  • SLIM. LIGHTWEIGHT. READY TO GO: The all-new slim design is perfect for busy lives on the go.
  • SKILLFULLY DESIGNED. MILITARY TOUGH: Built with premium craftsmanship to withstand the occasional drop or ding.
  • ALL-DAY, ALL-IN-ONE CHARGING: Power through your school day – and beyond – with a long-lasting 12-hour battery.¹
  • 3X FASTER THAN THE PREVIOUS GENERATION OF WIFI: Crush your schoolwork in record time with Wi-Fi that’s three times faster than the previous generation of Wi-Fi.
  • YOUR PHONE AND CHROMEBOOK WORK BETTER TOGETHER: Easily transfer files between devices, and control your phone right from your Chromebook.
  1. In the project or runtime environment that will run Browsershot, check whether the project uses puppeteer or puppeteer-core.
  2. If it uses puppeteer and its browser download was skipped, run npx puppeteer browsers install in that environment.
  3. Ensure the resulting browser files are retained or installed in deployment and are readable and executable by the account running the PHP application.

puppeteer-core does not download Chrome. If your project uses it, arrange a browser installation separately and configure its path. See Puppeteer’s installation documentation for installation behavior and browser management.

Choose how the browser is managed

Approach When it fits Checks
Let puppeteer install Chrome for Testing The project uses puppeteer and its installation or deployment process permits browser downloads. Install scripts ran; deployment retains or populates the browser cache; the PHP runtime user can access and execute the browser.
Manage Chrome or Chromium separately and set its path The host or container owns browser packages, or the project uses puppeteer-core. The executable exists at the configured path in the runtime filesystem; the browser and Puppeteer work together; permissions and Linux dependencies are present.

For a separately managed executable, configure Browsershot with setChromePath, using the actual path visible to the process that runs the capture. Spatie’s requirements and configuration documentation also covers remote Chrome; that is an architecture choice for deployments intentionally using a remote browser service, not the first fix for a local missing-browser error.

Set the executable path Browsershot can actually use

Do not assume a path from your laptop, another container, or an interactive shell also exists for PHP-FPM, Apache, a queue worker, or the container running your application. Confirm the file exists and is executable in the same environment and under the same account that performs the screenshot, then pass that path to setChromePath.

Rank #2
HP Chromebook 14 Laptop, Intel Celeron N4120, 4 GB RAM, 64 GB eMMC, 14" HD Display, Chrome OS, Thin Design, 4K Graphics, Long Battery Life, Ash Gray Keyboard (14a-na0226nr, 2022, Mineral Silver)
  • FOR HOME, WORK, & SCHOOL – With an Intel processor, 14-inch display, custom-tuned stereo speakers, and long battery life, this Chromebook laptop lets you knock out any assignment or binge-watch your favorite shows..Voltage:5.0 volts
  • HD DISPLAY, PORTABLE DESIGN – See every bit of detail on this micro-edge, anti-glare, 14-inch HD (1366 x 768) display (1); easily take this thin and lightweight laptop PC from room to room, on trips, or in a backpack.
  • ALL-DAY PERFORMANCE – Reliably tackle all your assignments at once with the quad-core, Intel Celeron N4120—the perfect processor for performance, power consumption, and value (2).
  • 4K READY – Smoothly stream 4K content and play your favorite next-gen games with Intel UHD Graphics 600 (3) (4).
  • MEMORY AND STORAGE – Enjoy a boost to your system’s performance with 4 GB of RAM while saving more of your favorite memories with 64 GB of reliable flash-based eMMC storage (5).

If the error instead shows that PHP cannot find Node or npm, configure those separately: Browsershot provides setNodeBinary, setNpmBinary, and setIncludePath. These settings address command discovery; they do not install Chrome or fix a browser launch failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Compare the PHP runtime with your successful terminal test

A terminal capture and a web request may run as different users with different environment variables, home directories, PATH values, filesystem access, and browser-cache locations. A browser installed under one account’s cache may therefore be invisible to the PHP service account.

  1. Identify the account and environment used by the failing PHP process—such as PHP-FPM, Apache, or a queue worker.
  2. Check that Node, npm, the browser executable, and Puppeteer’s browser cache are accessible in that runtime.
  3. Install or configure the browser so the runtime user can read and execute it, or point Browsershot at the actual executable path with setChromePath.
  4. Repeat the capture through the same PHP execution path that failed. A successful command run under another user is not proof that the web runtime can launch Chrome.

A Spatie GitHub discussion includes a user’s 2024 report of CLI-versus-web-server differences alongside a Chrome crashpad/configuration issue. It is an example of why runtime differences are worth checking, not evidence that one environment-variable workaround fixes every case.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When Chrome is found but will not launch on Linux

Check shared libraries

A missing-library message points to operating-system dependencies, not Chrome discovery. Spatie suggests checking the browser’s linked libraries with ldd chrome | grep not; use the actual executable path if needed. Install the required packages for your host distribution and version rather than copying a package list from another Linux release.

Spatie’s Forge installation example lists dependencies for Ubuntu 24.04 and notes that Ubuntu 22.04 uses libasound2 instead of libasound2t64. Treat that as a version-specific example, not a universal Linux package list.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle sandbox errors as a security decision

If Chrome reports “No usable sandbox!”, investigate the host’s sandbox configuration. Puppeteer’s troubleshooting guide says, “Running without a sandbox is strongly discouraged. Consider configuring a sandbox instead.” It also notes AppArmor and user-namespace restrictions affecting Chrome for Testing on Ubuntu 23.10 and later.

Rank #4
HP 14" HD Chromebook Laptop for Students, Intel Quad-Core N4120(> N4020), 4GB RAM, 64GB eMMC, WiFi, Webcam, HDMI, USB-A&C, 14 Hours Battery Life, Zoom, Chrome OS, CUE Accessories
  • Intel Celeron N4120: 4 Cores & Threads, 1.1GHz Base Clock, Up to 2.6GHz Boost Clock, 4MB Cache, Intel UHD Graphics 600. The perfect combination of performance, power consumption, and value helps your device handle multitasking smoothly and reliably with four processing cores to divide up the work.

Avoid treating --no-sandbox as a routine fix. Disabling the sandbox reduces protection when Chrome processes untrusted web content; only consider it for trusted content when you understand and accept that security trade-off. Prefer configuring a suitable sandbox for the deployment.

Or skip the browser setup

If you need a screenshot without installing and maintaining a browser in your PHP runtime, ScreenshotNeo provides a screenshot API and MCP server. A GET request returns an image or PDF. For a PNG capture, for example:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options and response details. ScreenshotNeo removes supported cookie and consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents take screenshots, and the free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo to start with the free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does Browsershot use Chrome directly from PHP?

No. Browsershot uses a Node/Puppeteer process to control the browser, so PHP command discovery, Puppeteer browser discovery, and Chrome startup are distinct checks.

Can I use Chromium instead of Chrome?

Yes, if you manage the browser separately and configure Browsershot with the actual executable path using setChromePath. Confirm the browser and Puppeteer pairing works in the target runtime.

Should I use a remote Chrome server to fix this error?

Usually not as a first step. Browsershot documents remote Chrome for deployments designed to use a remote browser service; first check local installation, path visibility, and launch dependencies.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.