Instances
An Instance is a configured server that ForgeKit can start/stop.
Think of it as a local process because in Windows, each instance is an actual process or group of processes visible in task manager.
- Web server type: Apache or Nginx
- PHP version: 8.3 / 8.2 / 7.4 / etc.
- Ports: HTTP/HTTPS (depending on setup)
- Own config folder + logs in
/instances
Why Instances exist
Instances let you run multiple environments at the same time.
Example:
Legacyinstance (PHP 7.4 + Apache)Moderninstance (PHP 8.3 + Nginx)
Then you route different sites to each.
What an Instance controls
An Instance typically owns:
- server config (main conf, vhosts)
- PHP config (php.ini and extensions)
- logs (access/error)
- runtime state (running/stopped, bound ports)
- NOTE: the php.ini file is not unique per web server instance, but unique per PHP binary. So changing that for one web server instance will also change it for another one.
Common workflows
Create one instance per PHP version
This keeps things predictable:
- “Sites on Instance A run PHP 7.4”
- “Sites on Instance B run PHP 8.3”
Keep “test” and “stable” instances separate
Useful if you are experimenting with new PHP versions or configs.
Common issues
-
Port already in use or changes not applying: another service is probably using port 80. If you're coming from another tool which had web servers, make sure to turn that one off. Both Port 80 and ports 8080 or other ports that ForgeKit happens to use need to be available.
-
Config changes not applied: instance may need to be turned off and back on again.
Continue to → Vhosts and Routing