PHP CLI and Web server on browser
npm install @capsulescodes/browser-phpRun 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.
``bash`
npm install --save-dev @capsulescodes/browser-php
This package gives access to three binaries. php-cli and php-server from node_modules, composer from vendor.
node node_modules/.bin/php-cli
`
Or add
script in package.json
`
"scripts" : {
"php" : "php-cli"
},
`
Example
`
npm run php -r "echo 'Hello Browser PHP World!';"
> Hello Browser PHP World!
`
$3
`
node node_modules/.bin/php-server
`
Or add
script in package.json
`
"scripts" : {
"serve" : "php-server"
},
`
Example
`
npm run serve
> PHP server is listening on url http://localhost:2222
`
$3
`
node node_modules/.bin/php vendor/bin/composer
`
Or add
script in package.json
`
"scripts" : {
"composer": "php-cli vendor/bin/composer"
},
`
Example
`
npm run composer> ______
> / ____/___ ____ ___ ____ ____ ________ _____
> / / / __ \/ __
__ \/ __ \/ __ \/ ___/ _ \/ ___/
Configuration
The scripts can be configured with environment variables
-
BROWSER_PHP_VERSION : The PHP version you need | default : 8.4
- BROWSER_PHP_CLI : The CLI output mode | default : xterm-
BROWSER_PHP_COMPOSER_VERSION : The Composer executable version | default : 2.9.3
- BROWSER_PHP_COMPOSER_PATH : The Composer executable path | default : vendor/bin
- BROWSER_PHP_COMPOSER_NAME : The Composer executable name | default : composer-
BROWSER_PHP_SERVER_HOST : The host name you need | default : http://localhost
- BROWSER_PHP_SERVER_PORT : The port you need | default : 2222
- BROWSER_PHP_SERVER_PATH : The directory path you need | default : public
- BROWSER_PHP_SERVER_DEBUG : The debug mode you need | default : false`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.