PHP Luminova: Launching PHP Development HTTP Server
Luminova provides a built-in PHP development server. It allows you to quickly run and test your application in a controlled local environment suitable for development, debugging, and tunneling workflows.
Luminova includes a built-in HTTP development server powered by PHP’s native web server. It provides a fast and simple way to run and test applications locally without external stacks. It is well suited for applications using SQLite or no database setup.
Note:
You can also use tools like XAMPP or WAMP when MySQL or other database engines are required.
Features
- Quick setup: Start a local server using a single
novakitcommand. - Isolated environment: Run your app in a controlled local context for safe testing.
- Flexible configuration: Choose custom host and port settings as needed.
- Network testing: Expose your local server to other devices for cross-device testing.
Usages
Show Command Helps
To view available options and usage details for the development server:
php novakit server --helpLaunching Server
The server command starts the Luminova PHP development server. Run it from your project root:
php novakit serverNote:
Without specifying host or port, application will be available at:
http://127.0.0.1::8080as default
Command Options
You can adjust the server behavior using the following options:
-b, --phpSet the path to the PHP binary.-a, --hostDefine the hostname (default:127.0.0.1:).-p, --portSet the port for the server (default:8080).-t, --testingRun the server in network mode for access from other devices.
Custom Host and Port
You can define a custom host and port when starting the server:
php novakit server --host=127.0.0.1 --port=8081The above command will make the application available at:
http://127.0.0.1:8081
Custom PHP Binary
You can also specify which PHP executable to use:
php novakit server --php=/path/to/phpUse this when you have multiple PHP versions installed and want to control which one runs the server.
Real-Time Testing
To test your application locally on other devices like (mobile or another computer), you can expose the Luminova development server over your local network by starting development server with flag (--testing).
Quick Start (Recommended)
Run the server in network testing mode:
php novakit server --port=8080 --testingThe above command resolves your local machine address and makes the application accessible from other devices on the same network.
Manual Setup (Fallback)
If local address could not be resolved internally, you can bind the server manually to your machine’s IP address, by following the below steps:
1. Get Your Local IP Address
Find your machine’s local network IP:
Windows:
ipconfigmacOS / Linux:
ifconfigLook for your active network interface (Wi-Fi or Ethernet) and copy the IPv4 address (e.g. 192.168.1.100).
2. Start Server with IP Binding
Run the server using your local IP:
php novakit server --host=192.168.1.100 --port=8080The above command will make the server available at local machine address (e.g, http://192.168.1.100:8080),allowing you to access it on other devices connected to the same network.
Notes
- Your firewall must allow inbound connections on the chosen port.
- All devices must be on the same network.
- If it doesn’t connect, it’s usually firewall or wrong IP—not the framework.
Custom Domain Mapping
You can map a custom domain (for example example.com) to your local server using a hosts file entry:
192.168.1.100 example.comHosts file locations:
- Windows:
C:\Windows\System32\drivers\etc\hosts - macOS / Linux:
/etc/hosts
Then access (http://example.com:8081).
Using Third-Party Servers
You are not required to use the built-in server. You can use tools like XAMPP or WAMP instead.
After installation, place your project inside the web root:
Example:
- XAMPP:
/path/to/XAMPP/xamppfiles/htdocs/myproject.com - WAMP:
/path/to/wamp/www/myproject.com
Then start your third-party development server and access it in your browser:
http://localhost/myproject.com/public/or
http://127.0.0.1/myproject.com/public/Here is a cleaner, more precise version with reduced repetition and clearer flow:
Local Server Tunneling
Local server tunneling exposes your local development environment to the internet. It is commonly used for testing webhooks, external APIs, and mobile integrations.
A widely used tool for this is Ngrok, it creates a secure public URL that forwards requests to your local server.
Ngrok Examples
1. Start Luminova Server:
Run the development server on a fixed local interface:
php novakit server --host=127.0.0.1 --port=80802. Start Ngrok Tunnel:
Expose the local server:
ngrok http 8080 --host-header=rewriteNgrok will generate a public URL (for example https://xxxx.ngrok.app) that forwards requests to your local server.
Host Header Handling
Luminova depends on the request host for routing, URL generation, and security checks. When using Ngrok, the original host header is replaced, which can lead to incorrect redirects or request failures (including ERR_NGROK_8012).
The --host-header=rewrite option fixes this by rewriting the incoming host header to match the local server:
Before:
Host: xxxx.ngrok-free.appAfter:
Host: 127.0.0.1:8080This ensures the application behaves the same as it does in a normal local environment, without proxy-related issues.