php-server-middleware
v0.8.1
Published
Simple php connect-like middleware using the php built-in server
Downloads
13
Readme
php-middleware
Simple php connect-like middleware using the php built-in server
:warning: This is experimental and only tested on OSX :warning:
Examples
Usage with express
const express = require('express')
const phpMiddleware = require('php-server-middleware')
const app = express()
app.use('/', phpMiddleware())
app.listen(3000)
API Usage
const middleware = phpMiddleware([options])
Return a connect-like middleware function and auto-start the php server used by the middleware.
Options
host
(String)
- Default:
'127.0.0.1'
- The host the php server will listen on
- There is an issue between
node-proxy
and the built-in php server when php serves fromlocalhost
. To fix this,localhost' will be proxy as
[::1]`. Note that it can break host/port rewriting in headers/body response.
port
(Number)
- Default:
'35410'
- The base port to use for the php server
root
(String)
- Default:
process.cwd()
- The document root of the php server
headersRewrite
(Boolean)
- Default:
true
- Rewrites the location host/port on (301/302/307/308) redirects based on requested host/port.
bodyRewrite
(Boolean)
- Default:
true
- Replace all
proxyHost:proxyPort
byrequestedHost:requestedPort
from the response body - Works only for these MIME-types:
- text/html
- text/css
- text/xml
- text/javascript
- application/javascript
- application/json
headers
(Object)
- Default:
{}
- Adds request headers
handle404
(Boolean)
- Default:
true
- Let php handle not-found filepaths
proxyOpts
(Object)
- Default:
{}
- http-proxy-middleware options
phpOpts
(Object)
- Default:
{}
- @pqml/node-php-server options
verbose
(Boolean)
- Default:
false
- Log additional informations
quiet
(Boolean)
- Default:
false
- If true, don't write anything to the console
onStart
(Function)
- Default:
function () {}
- The onStart function will be called when the php built-in server is ready.
bin
(String)
- Default:
php
- Absolute Path / Alias to the php binary
promptBinary
(Boolean)
- Default:
false
- If set to true and php isn't found, the middleware will ask the user a path/alias to a php binary
- Be careful to not have other log during the middleware setup when using this. You can use the
onStart
options to wait for the middleware to be ready before logging anything else