Skip to main content
Documentation/Troubleshooting/Hosting & Server Requirements
Troubleshooting

Hosting & Server Requirements

Oxygen is a WordPress plugin, so if your host runs WordPress well, it runs Oxygen well.
This page lists what Oxygen needs on top of the
standard WordPress requirements,
plus the settings worth asking your host about before you start a big build.

PHP version

Oxygen supports the PHP versions WordPress supports. WordPress publishes that list at
PHP Compatibility and WordPress Versions;
whatever WordPress marks as compatible, Oxygen runs on. When WordPress promotes a new PHP
version to full support, Oxygen follows.

That tie also sets the ceiling. A PHP version WordPress only supports at beta level is one
we can't claim full support for either — you're welcome to run it, but the wider plugin
ecosystem usually hasn't caught up, and problems there aren't ones we can fix. If you do
test on a beta-level version and hit something, report it to us.

For a new site, pick the newest version WordPress fully supports and that your other
plugins are happy with. Most hosts let you switch PHP version from their control panel.

PHP extensions

Beyond the extensions WordPress itself requires, Oxygen uses:

  • zip — required to export an icon set or download form submissions as a file. Without
    ZipArchive, those exports fail with an error instead of producing a file.
  • libxml / DOMDocument — required by the MCP oxygen-html-to-page tool, which is how
    an AI agent turns HTML into Oxygen elements. If it's missing, agent-driven page building
    won't work.
  • mbstring and curl — used throughout for multibyte-safe string handling and for
    outbound requests (licensing, updates, integrations).

These are present on virtually every managed WordPress host. If you're on a minimal VPS
image you may need to install them.

Memory

512MB is a good starting point. Oxygen's builder loads your whole page document plus
every registered element definition, so it wants more headroom than a plain theme does.

Memory is shared with everything else on the site, so treat 512MB as a floor rather than a
target: more plugins, bigger pages, and larger media libraries all push the requirement up.
If you're troubleshooting a builder that won't load or save, raising the limit is one of
the first things to try.

Server timeouts

Saving a large page, regenerating the CSS cache, or letting an agent build a page are all
single long requests. If your server cuts requests off too early, those operations fail
partway through.

Two limits matter, and your host controls both:

  • max_execution_time (PHP) — how long a PHP script may run.
  • Web server timeouts — FcgidIOTimeout on Apache, fastcgi_read_timeout on NGINX.
    Around 90 seconds is a common baseline.

If you're behind Cloudflare, note its own 100-second limit on the free plan; a request that
exceeds it returns a 524 regardless of what your origin server allows.

None of these are needed to run Oxygen, but they make a real difference to the sites you
build with it:

  • A dual-core CPU or better.
  • Server-side compression — Brotli or Gzip.
  • Server-side caching. Turn it off while you're actively building; a cache that serves
    stale CSS is the most common reason a change "doesn't show up" on the front end.

Troubleshooting

The builder won't load, won't save, or previews never finish

That's usually a timeout or a memory limit rather than anything about your page.
Troubleshooting Errors walks through it and
tells you exactly what to ask your host for.

You're seeing a session_start error

See Session Errors — it's a server
configuration problem, and there's a setting in Oxygen that works around it while your host
investigates.

Requests are being blocked with a 403

A firewall or security plugin is intercepting Oxygen's requests. See
Troubleshooting 403 Errors.