Open source · Windows · PHP 7.1 to 8.5

The local dev stack that shows its work.

Apache, nginx, PHP, MariaDB, Redis and mail, all running in a fast tray app. Plus the things WAMP and XAMPP never had: built-in profiling, an AI assistant that reads your stack, and a one-click Rhapsody project scaffold.

Free · Open source · Bundled Apache, PHP and MariaDB, no first-run download

Rhapsody Server · Dashboard
Services
Sites
Versions
Modules
Profiler
AI Assistant
phpMyAdmin
Mailbox
Services
Active PHP
Web serverApache 2.4Running
PHPPHP 8.4Active
DatabaseMariaDBRunning
CacheRedisRunning
GET https://myapp.test/dashboard 200 84 ms
   7 queries · 12 ms in MariaDB · 1 slow
GET https://myapp.test/api/users 200 31 ms
ApachenginxPHP 7.1 – 8.5MariaDBRedisphpMyAdminSMTP mailer.test domains
What makes it different

Three things you will not find in a classic stack.

Built-in profiling

Every request, every SQL query, every page load, measured at the stack level. No framework plugin, no code changes. Works with any app, not just PHP.

How it works →

AI assistant

Ask why a page is slow, why Apache will not start, or why a migration failed. The assistant sees your logs, profiler data and config, then tells you what to change.

Meet the assistant →

Rhapsody scaffold

Create a Rhapsody PHP project from the dashboard: Composer install, .env, database, migrations and a .test domain, wired up and ready to open.

See the scaffold →
Fast to openA tray app and a web dashboard built to load quickly, so the stack is ready when you are.
Switch versions liveSeven PHP versions, Apache or nginx, and a Versions page to install more.
Modules pageToggle PHP extensions and Apache modules from the dashboard, no php.ini hunting.
Batteries includedLatest Apache, PHP and MariaDB bundled in the installer. Nothing to fetch on first run.
Profiler

See where every millisecond goes.

Rhapsody Server sits between your app and the database and alongside the web server, so it can profile any stack you run on it, with nothing to install in your code.

  • SQL capture for any client. A passive MariaDB proxy logs queries from PHP, Node, Python or a GUI.
  • Request and response cycles. Status, timing and the queries each request triggered.
  • Frontend performance. Page load times and Web Vitals reported back from the browser.
  • Deep dives on demand. Xdebug profiling and an optional Lighthouse run from the dashboard.
GET /orders/142200 · 212 ms
Web server
8 ms
PHP
71 ms
SELECT orders
9 ms
SELECT items
64 ms
Render
47 ms
Browser paint
60 ms
Slow query: SELECT * FROM order_items WHERE order_id = 142. No index on order_id.
AI Assistant
Why is /orders/142 so slow?
One query accounts for 64 ms of the 212 ms request. It filters order_items by order_id, and that column has no index. ALTER TABLE order_items ADD INDEX (order_id); Add it as a Phinx migration so it ships with the project.
Apache will not start after I enabled mod_rewrite.
The error log shows port 80 already in use by another process. Stop it or move Apache to another port from the Services page.
AI assistant

An assistant that actually sees your stack.

Generic chatbots guess. This one reads your service logs, profiler traces, vhosts and PHP config before it answers, so the advice fits the machine in front of you.

  • Explain slow requests using real query and timing data.
  • Diagnose service failures from Apache, nginx, PHP and MariaDB logs.
  • Suggest config changes for modules, extensions and vhosts, for you to apply.
Rhapsody scaffold

From empty folder to running app in one click.

Pick a name and a PHP version. Rhapsody Server creates the project from the Rhapsody skeleton, configures it, and serves it on its own .test domain.

  • Composer create-project, run for you
  • .env generated with APP_URL, APP_KEY, database, mail and Redis settings
  • Database created and migrations run
  • Virtual host and .test domain added to the active web server
New Rhapsody project
$ composer create-project arout/rhapsody-app myapp
✓ Project created
✓ .env written
✓ Database myapp created
✓ Migrations applied
✓ Vhost added, Apache reloaded
Ready at https://myapp.test
The stack

Everything you expect, ready on day one.

Web serversApache and nginx, switchable from the Services tab. Update Apache versions from the Versions page.
PHP 7.1 to 8.57.1, 7.4, 8.0, 8.1, 8.3, 8.4 and 8.5. Legacy projects and current ones side by side.
MariaDB and phpMyAdminA database server plus the admin UI, linked from the dashboard sidebar.
RedisCache and queue backend for your apps, started with one toggle.
SMTP mailerCatch outgoing mail locally and read it in the built-in mailbox.
.test domainsEvery site gets a clean local domain. Add one with a native folder picker.
For web developers

Stop guessing, start measuring.

  • Profile SQL and requests without touching your code
  • Match production with the PHP version you actually deploy to
  • Spin up a Rhapsody project and start building
For system admins

Full control, no mystery config.

  • See each service, its version and its logs in one place
  • Toggle Apache modules and PHP extensions from a UI
  • Open source, with the code and your site folders one click away

Give your local stack a better tempo.

Free, open source and made for Windows. Install it, add a site, and watch your first request in the profiler.

Windows 10 and 11