A lightweight, single-file PHP dev server manager with a Vercel-inspired UI.
Add your local projects, launch them on custom ports, monitor logs — all from one browser tab.
- Single file — drop one
index.phpanywhere served by PHP, nothing to install - Add & manage projects — browse your filesystem server-side to pick any project folder; name is auto-detected from the folder
- Custom commands — run any dev command per project:
ionic s,npm run dev,ng serve,vite,php artisan serve, etc. - Custom ports — assign a port per project;
--portflag is auto-appended if not already in your command - Start / Stop — launches commands as detached background processes with full process tree kill on stop
- Live log viewer — tail real-time stdout/stderr output from any running project
- Running detection — auto-detects if a process is already running (survives page refreshes)
- Vercel-inspired dark UI — clean, minimal, fast
- Windows + Linux + macOS — works on all platforms via XAMPP, Laragon, built-in PHP server, etc.
- PHP 7.4+
proc_openmust be enabled inphp.ini(it is by default in most setups)- A local web server (XAMPP, Laragon,
php -S, etc.)
# Clone the repo
git clone https://github.com/ManthanBhatt/devlaunch.git
# Move into your web server's document root, e.g.:
cp -r devlaunch/ C:/xampp/htdocs/devlaunch/
# or
cp -r devlaunch/ /var/www/html/devlaunch/Then open your browser:
http://localhost/devlaunch/
That's it. No composer, no npm, no build step.
cd devlaunch
php -S localhost:8080
# Open http://localhost:8080- Click Add Project in the top-right
- Click the 📁 folder icon to browse your filesystem and navigate to your project folder
- Click Select on the target folder — the project name is taken from the folder name automatically
- Set your command (e.g.
ionic s,npm run dev,ng serve --open) - Set the port number
- Click Add Project
Click the Start button on any project card. The command runs as a detached background process. The card updates to show:
- ● Running status (animated green dot)
- PID and start time
- Clickable
:PORT ↗link to open in browser
Click Logs on any running project to open the live log drawer at the bottom of the screen. Output auto-refreshes every 2 seconds.
Click Stop — this kills the process and its entire child tree (e.g. cmd.exe → node.exe → ionic subprocess on Windows).
All project data is stored in two JSON files created automatically next to index.php:
| File | Purpose |
|---|---|
devlaunch_data.json |
Project definitions (name, path, command, port) |
devlaunch_pids.json |
Runtime state (PID, port, start time, log path) |
These are plain JSON — you can edit them manually if needed.
Check if proc_open is in the disable_functions list in your php.ini:
php -r "echo ini_get('disable_functions');"If it appears, remove it from disable_functions in php.ini and restart your web server.
XAMPP on Windows: Edit C:\xampp\php\php.ini
Linux: Edit /etc/php/8.x/apache2/php.ini or /etc/php/8.x/cli/php.ini
Make sure the command is available in your system PATH. You can verify with:
# Windows
where ionic
# Linux / macOS
which ionicIf using nvm or a version manager, ensure the correct Node version is active in your shell environment.
If a project shows as stopped but the port is still occupied, another process may be holding it:
# Windows
netstat -ano | findstr :8101
# Linux / macOS
lsof -i :8101PIDs don't survive a reboot. Hit Refresh — DevLaunch will detect the process is gone and update the status automatically.
devlaunch/
├── index.php # Entire application (PHP backend + HTML/CSS/JS frontend)
├── devlaunch_data.json # Auto-created: project definitions
├── devlaunch_pids.json # Auto-created: runtime PID state
├── LICENSE
└── README.md
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m 'Add my feature' - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
- Dark/light theme toggle
- Project grouping / tags
- Environment variable editor per project
- Auto-restart on crash
- Multiple commands per project (e.g. frontend + backend together)
- Export/import project list
- Notification when a server crashes
MIT License — see LICENSE for details.
