Simple php connect-like middleware using the php built-in server
const express = require('express')
const phpMiddleware = require('php-server-middleware')
const app = express()
app.use('/', phpMiddleware())
app.listen(3000)
Return a connect-like middleware function and auto-start the php server used by the middleware.
- 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.
- Default:
'35410'
- The base port to use for the php server
- Default:
process.cwd()
- The document root of the php server
- Default:
true
- Rewrites the location host/port on (301/302/307/308) redirects based on requested host/port.
- 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
- Default:
{}
- Adds request headers
- Default:
true
- Let php handle not-found filepaths
- Default:
{}
- http-proxy-middleware options
- Default:
{}
- @pqml/node-php-server options
- Default:
false
- Log additional informations
- Default:
false
- If true, don't write anything to the console
- Default:
function () {}
- The onStart function will be called when the php built-in server is ready.
- Default:
php
- Absolute Path / Alias to the php binary
- 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