@capsulescodes/browser-php v0.5.12
Run any PHP stuff within your browser.
The Browser PHP package offers a collection of commands for running PHP from the Node CLI or for launching a PHP server from Node. Perfect for running a Laravel project in CodeSandbox, for example.
This article provides an in-depth exploration of the package.
Installation
npm install --save-dev @capsulescodes/browser-phpUsage
This package gives access to three binaries. php-cli and php-server from node_modules, composer from vendor.
PHP
node node_modules/.bin/php-cliOr add script in package.json
"scripts" : {
"php" : "php-cli"
},Example
npm run php -r "echo 'Hello Browser PHP World!';"
> Hello Browser PHP World!Serve
node node_modules/.bin/php-serverOr add script in package.json
"scripts" : {
"serve" : "php-server"
},Example
npm run serve
> PHP server is listening on url http://localhost:2222Composer
node node_modules/.bin/php vendor/bin/composerOr add script in package.json
"scripts" : {
"composer": "php-cli vendor/bin/composer"
},Example
npm run composer
> ______
> / ____/___ ____ ___ ____ ____ ________ _____
> / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
> / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
> \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
> /_/
> Composer version 2.7.7 2024-06-10 22:11:12Configuration
The scripts can be configured with environment variables
BROWSER_PHP_VERSION: The PHP version you need | default :8.2BROWSER_PHP_COMPOSER_VERSION: The Composer executable version | default :2.7.7BROWSER_PHP_COMPOSER_PATH: The Composer executable path | default :vendor/binBROWSER_PHP_COMPOSER_NAME: The Composer executable name | default :composerBROWSER_PHP_SERVER_HOST: The host name you need | default :http://localhostBROWSER_PHP_SERVER_PORT: The port you need | default :2222BROWSER_PHP_SERVER_PATH: The directory path you need | default :publicBROWSER_PHP_SERVER_DEBUG: The debug mode you need | default :false
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.