Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sindresorhus/php-server
Start a PHP server
https://github.com/sindresorhus/php-server
development nodejs npm-package php php-server webserver
Last synced: about 1 month ago
JSON representation
Start a PHP server
- Host: GitHub
- URL: https://github.com/sindresorhus/php-server
- Owner: sindresorhus
- License: mit
- Created: 2019-05-14T19:08:39.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-03T09:31:28.000Z (7 months ago)
- Last Synced: 2024-04-14T10:28:45.691Z (7 months ago)
- Topics: development, nodejs, npm-package, php, php-server, webserver
- Language: JavaScript
- Homepage:
- Size: 13.7 KB
- Stars: 134
- Watchers: 4
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# php-server
> Start a [PHP server](https://php.net/manual/en/features.commandline.webserver.php)
Uses PHP's built-in development web server (not for production use).
The Node.js process is automatically kept alive as long as the PHP server is running.
## Install
```sh
npm install php-server
```## Usage
```js
import phpServer from 'php-server';const server = await phpServer();
console.log(`PHP server running at ${server.url}`);
```## API
### phpServer(options?)
Returns an object with the following properties:
- `stdout` - The [`subprocess.stdout`](https://nodejs.org/api/child_process.html#child_process_subprocess_stdout).
- `stderr` - The [`subprocess.stderr`](https://nodejs.org/api/child_process.html#child_process_subprocess_stderr).
- `url` - The URL to the server.
- `stop()` - A method, which when called, stops the server.#### options
Type: `object`
##### port
Type: `number`\
Default: `0`The port on which you want to access the server.
Specify `0` to use a random port.
##### hostname
Type: `string`\
Default: `'127.0.0.1'` *(Usually the same as `localhost`)*The hostname the server will use.
Use `'0.0.0.0'` if you want it to be accessible from the outside.
##### base
Type: `string`\
Default: `'.'`The directory the server will serve from.
##### open
Type: `boolean | string`\
Default: `false`Open the server URL in the browser.
Can be one of the following:
- `true`: Opens the default server URL (`http://${hostname}${port}`).
- A relative URL: Opens that URL in the browser. Useful when testing pages that are not the default.##### env
Type: `object`\
Default: `{}`Set environment variables for the PHP process.
##### router
Type: `string`
Optionally specify the path to a [router script](https://php.net/manual/en/features.commandline.webserver.php#example-412) that is run at the start of each HTTP request. If this script returns `false`, the requested resource is returned as-is. Otherwise, the script's output is returned to the browser.
Example router script:
```php
Thanks for using php-server :)";
}
?>
```##### binary
Type: `string`\
Default: `'php'` *(The one in your `$PATH`)*The path to the PHP binary.
Can be useful if you have multiple versions of PHP installed.
##### ini
Type: `string`\
Default: The built-in `php.ini`A path to a custom [`php.ini` config file](https://php.net/manual/en/ini.php).
##### directives
Type: `object`\
Default: `{}`Add custom [INI directives](https://php.net/manual/en/ini.list.php).