An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

Browser PHP

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/)