Luminova Framework

PHP Luminova: Launching PHP Development HTTP Server

Last updated: 2026-04-16 20:54:32

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 novakit command.
  • 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 --help

Launching Server

The server command starts the Luminova PHP development server. Run it from your project root:

php novakit server

Note:

Without specifying host or port, application will be available at: http://127.0.0.1::8080 as 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=8081

The 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/php

Use 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 --testing

The 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:

ipconfig

macOS / Linux:

ifconfig

Look 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=8080

The 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.com

Hosts 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=8080

2. Start Ngrok Tunnel:

Expose the local server:

ngrok http 8080 --host-header=rewrite

Ngrok 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.app

After:

Host: 127.0.0.1:8080

This ensures the application behaves the same as it does in a normal local environment, without proxy-related issues.