Skip to content
LibxaFrame

Libxa Desktop

Your whole PHP stack in one window.

Version
0.4.0
Category
Developer tools
Requires
Windows 10 or newer

A local development environment for Laravel, LibxaFrame and plain PHP. It installs and supervises PHP, Node, nginx, MariaDB and phpMyAdmin, and serves every project on a .test domain.

Windows, with detection of package-manager installs on macOS and Linux.

What it does

  • Installs what you are missing. nginx, MariaDB, PHP and Node download from each publisher's own host and are verified against a SHA-256 before anything is extracted. Nothing touches system directories or your PATH.
  • Every PHP version side by side. 8.0 through 8.5, with each site routed to its own version by a php-cgi per version.
  • Supervises the stack, with combined logs and a stop that does not orphan workers.
  • Serves your projects on .test. Park a directory and every project inside it gets a local domain and a generated server block.
  • HTTPS on those domains, signed by a certificate authority on your machine.
  • phpMyAdmin, configured against the managed database and bound to localhost, because it administers the database as root.
  • A preview and a terminal, beside each site's settings.

Why a local certificate authority

.test is reserved by RFC 6761, which means no public certificate authority can ever issue for it. Not "does not currently": cannot. Every ACME challenge works by proving control of a domain, and nobody controls .test.

So the app creates a root on your machine and puts it in the per-user trust store, which needs no elevation. Certificates cover the domain, its wildcard, localhost and 127.0.0.1, last 396 days (under the 398 Chrome will accept) and renew a month early.

The root stays on your machine, and one button removes it again.

Installing

Download the installer from the releases page.

It is not code-signed, so SmartScreen warns on first run: choose More info, then Run anyway.

Existing installations update themselves. The download is verified against the SHA-512 in latest.yml and installed when you ask, not behind your back.