https://github.com/capsulescodes/browser-php
PHP CLI and Web server on browser
https://github.com/capsulescodes/browser-php
browser nodejs php
Last synced: 12 months ago
JSON representation
PHP CLI and Web server on browser
- Host: GitHub
- URL: https://github.com/capsulescodes/browser-php
- Owner: capsulescodes
- License: mit
- Created: 2024-02-13T14:06:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-01T22:32:23.000Z (about 1 year ago)
- Last Synced: 2025-06-02T07:33:27.893Z (about 1 year ago)
- Topics: browser, nodejs, php
- Language: TypeScript
- Homepage:
- Size: 68.4 KB
- Stars: 25
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

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](https://capsules.codes/en/blog/fyi/en-fyi-run-laravel-on-your-browser-with-browser-php) provides an in-depth exploration of the package.
## Installation
```bash
npm install --save-dev @capsulescodes/browser-php
```
## Usage
This package gives access to three binaries. `php-cli` and `php-server` from `node_modules`, `composer` from `vendor`.
### PHP
```
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!
```
### Serve
```
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
```
### Composer
```
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
> ______
> / ____/___ ____ ___ ____ ____ ________ _____
> / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
> / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
> \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
> /_/
> Composer version 2.7.7 2024-06-10 22:11:12
```
## Configuration
The scripts can be configured with environment variables
- `BROWSER_PHP_VERSION` : The PHP version you need | default : `8.2`
- `BROWSER_PHP_COMPOSER_VERSION` : The Composer executable version | default : `2.7.7`
- `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`
## 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.
## Credits
- [Capsules Codes](https://github.com/capsulescodes)
## License
[MIT](https://choosealicense.com/licenses/mit/)