Using WordPress Playground in Node.js
As a WebAssembly project, you can also use WordPress Playground in Node.js.
If you need low-level control over the underlying WebAssembly PHP build, take a look at the @php-wasm/node
package which ships the PHP WebAssembly runtime. This package is at the core of all WordPress Playground tools for Node.js.
Consult the complete list of Classes, Functions, Interfaces, and Type Aliases.
WebAssembly PHP for Node.js
This package ships WebAssembly PHP binaries and the JavaScript API optimized for Node.js. It comes with the following PHP extensions:
- SQLite
- Libzip
- Libpng
- CLI
- OpenSSL
- MySQL
It uses the host filesystem directly and can access the network if you plug in a custom WS proxy.
Here's how to use it:
import { PHP } from '@php-wasm/universal';
import { loadNodeRuntime } from '@php-wasm/node';
const php = new PHP(await loadNodeRuntime('8.3'));
const output = await php.run({
code: '<?php phpinfo(); ?>',
});
console.log(response.text);
Attribution
@php-wasm/node
started as a fork of the original PHP to WebAssembly build published by Oraoto in https://github.com/oraoto/pib and modified by Sean Morris in https://github.com/seanmorris/php-wasm.