Skip to content

[Website] Fix phpMyAdmin page not found in Personal WP - #4154

Merged
brandonpayton merged 1 commit into
trunkfrom
emdash/personal-wp-phpmyadmin-fix-vcj3w
Jul 24, 2026
Merged

[Website] Fix phpMyAdmin page not found in Personal WP#4154
brandonpayton merged 1 commit into
trunkfrom
emdash/personal-wp-phpmyadmin-fix-vcj3w

Conversation

@brandonpayton

Copy link
Copy Markdown
Member

Motivation for the change, related issues

In Personal WP, choosing Site Tools → Database → Open phpMyAdmin opens a new tab, but that tab shows Page Not Found.

phpMyAdmin is installed at /tools/phpmyadmin, outside the WordPress document root. This location is intentional because it keeps phpMyAdmin out of site exports. The browser opens /phpmyadmin, so the PHP request handler needs a path alias that says: “serve /phpmyadmin requests from /tools/phpmyadmin.”

The regular Playground website registered this alias, but Personal WP has a separate boot path and did not register it. The request therefore fell through to WordPress, which returned its normal 404 page.

The public URL and filesystem path were also repeated across the website, Personal WP, and CLI. Keeping separate copies made it possible for one application to miss part of the routing setup.

Implementation details

  • Register the phpMyAdmin path alias when Personal WP boots.
  • Export the default phpMyAdmin URL and path alias from @wp-playground/tools.
  • Reuse those shared values in Personal WP, the regular website, and the CLI so the paths stay in sync.
  • Add inline comments explaining why each shared phpMyAdmin value is exported.
  • Keep the phpMyAdmin button in its loading state while it checks for an existing installation. This prevents an early click from starting a duplicate install.
  • Add a Personal WP browser test that creates a small PHP probe at the real tool path, opens it through the Database button, and verifies the popup response.

The test uses a small probe instead of downloading the full phpMyAdmin archive. This keeps the regression test focused on the broken URL-to-filesystem mapping.

There are no intentional breaking changes.

Testing Instructions (or ideally a Blueprint)

Automated checks run:

  • npm exec nx -- run-many --targets=typecheck,lint --projects=playground-tools,playground-personal-wp,playground-website,playground-cli --parallel=4 --output-style=static
  • npm exec nx -- run playground-personal-wp:e2e:playwright -- --reporter=list --workers=1 --retries=0 — 9 tests passed with no retries.

Manual review:

  1. Run npx nx dev playground-personal-wp.
  2. Open Site Tools from the lower-left corner.
  3. Select Database.
  4. Click Open phpMyAdmin.
  5. Confirm the new tab loads phpMyAdmin instead of Page Not Found.
  6. Confirm the wp_posts table is listed.
@brandonpayton

Copy link
Copy Markdown
Member Author

This tests well in both Playground web app and Personal WP. Let's go ahead and merge it.

@brandonpayton
brandonpayton merged commit 278ae70 into trunk Jul 24, 2026
53 checks passed
@brandonpayton
brandonpayton deleted the emdash/personal-wp-phpmyadmin-fix-vcj3w branch July 24, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment