@php-wasm/web
TypeScript icon, indicating that this package has built-in type declarations

0.7.1 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @php-wasm/web

Weekly Downloads

142

Version

0.7.1

License

GPL-2.0-or-later

Unpacked Size

171 MB

Total Files

44

Last publish

Collaborators

  • bgrgicak
  • danielbachhuber
  • sejas
  • adamziel