Skip to content

PHP runtimes

The backbone of every WordPress site is the PHP code that runs on the server. PHP is an interpreted language, meaning every WordPress site ships with actual source code rather than a compiled binary. To run this source code, a “PHP runtime” is needed.

Studio comes with two PHP runtimes:

You can select which runtime to use for each Studio site.

Runtime differences

If you want maximum performance and as few quirks as possible, choose the native runtime.

If you want increased security, preventing the PHP code on your WordPress site from accessing files or resources outside the site directory in any way, choose the sandbox runtime.

Native PHP binaries run the code with fewer abstractions around the system, which makes them faster than the Playground binaries. This is why we made them the default for Studio sites.

WordPress Playground binaries run in V8’s WebAssembly runtime using Node.js. They are slower than native PHP, but the flip side is that we can apply stricter security policies to PHP.

File access

With the sandbox runtime, PHP can only access files in the site directory (including symlinked files and directories). This is strictly enforced.

With the native runtime, there’s a File Access setting that dictates which files PHP can access. By default, this is set to Site directory, limiting the files PHP can access to the site directory, the system temporary directory, and a few other Studio-specific directories.

Under the hood, this works by applying an open_basedir config directive to PHP. This is not a strict sandbox, but it provides some degree of protection around misbehaving or low-effort malicious code.

Typically, access to the site directory and related directories is enough for most sites. If you want the native runtime to have access to all files on your system, open the Site Settings tab for a site and click the Edit site button. From there, change the File access setting to All files.

Child processes

With the sandbox runtime, PHP can only spawn PHP child processes. The child processes have the same restrictions as the main Playground process.

With the native runtime, PHP can spawn any child process. Child processes are not subject to the open_basedir restrictions of the main process.

How do I switch runtimes for a Studio site?

Open the Site Settings tab for a site and click the Edit site button.

Next, choose the PHP runtime in the dropdown in the modal.

Last updated: July 09, 2026