@php-wasm/web
v1.0.11
Published
PHP.wasm for the web
Downloads
1,601
Keywords
Readme
WebAssembly PHP for the web
This package ships WebAssembly PHP binaries and the JavaScript API optimized for the web and a low bundle size. It comes with the Libzip extension and the SQLite extension.
Here's how to use it:
import { PHP } from '@php-wasm/web';
// PHP.load() calls import('php.wasm') internally
// Your bundler must resolve import('php.wasm') as a static file URL.
// If you use Webpack, you can use the file-loader to do so.
const php = await PHP.load('8.0', {
requestHandler: {
documentRoot: '/www',
},
});
// Create and run a script directly
php.mkdirTree('/www');
php.writeFile('/www/index.php', `<?php echo "Hello " . $_POST['name']; ?>`);
await php.run({ scriptPath: './index.php' });
// Or use the familiar HTTP concepts:
const response = await php.request({
method: 'POST',
url: '/index.php',
data: { name: 'John' },
});
console.log(response.text);
Attribution
@php-wasm/web
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.