Skip to content

Make phpMyAdmin work with native PHP runtime - #3426

Merged
fredrikekelund merged 20 commits into
trunkfrom
rsm-2697-phpmyadmin-native-php
May 20, 2026
Merged

Make phpMyAdmin work with native PHP runtime#3426
fredrikekelund merged 20 commits into
trunkfrom
rsm-2697-phpmyadmin-native-php

Conversation

@fredrikekelund

@fredrikekelund fredrikekelund commented May 11, 2026

Copy link
Copy Markdown
Contributor

Related issues

  • Fixes RSM-2697

How AI was used in this PR

I used Codex to help me understand how Playground makes phpMyAdmin work. Once I had a 90% understanding and a relatively clear idea of what I thought the Studio implementation should look like, I asked Codex for the implementation, which I then tweaked to simplify.

Proposed Changes

  • Make phpMyAdmin work with sites using the native-php runtime.
  • This is achieved by copying and slightly modifying DbiMysqli.php and config.inc.php from the Playground repo.
    • The modifications only change where we load files from. With Playground, there's the virtual file system that gives us stable, per-site paths (like /internal/shared/wp-env.php). With the native PHP runtime, we obviously don't have this, so we generate temp files and pass the site-specific paths to the PHP process using environment variables.

Testing Instructions

  1. STUDIO_RUNTIME=native-php npm start
  2. Have a site that uses the native-php runtime (if you're unsure, just create a new site – it will automatically be assigned this runtime when Studio is run with STUDIO_RUNTIME=native-php)
  3. Start that site
  4. Click the phpMyAdmin button in the Overview tab in Studio

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?
@fredrikekelund fredrikekelund self-assigned this May 11, 2026
Base automatically changed from rsm-1691-sane-security-defaults to trunk May 13, 2026 18:01
@fredrikekelund
fredrikekelund requested a review from bcotrim May 13, 2026 18:13
@fredrikekelund
fredrikekelund marked this pull request as ready for review May 20, 2026 10:10

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is a straight up copy of the Playground source code

@bcotrim bcotrim left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as described
LGTM 👍

@wpmobilebot

Copy link
Copy Markdown
Collaborator

📊 Performance Test Results

Comparing 1941be0 vs trunk

app-size

Metric trunk 1941be0 Diff Change
App Size (Mac) 1375.99 MB 1376.01 MB +0.01 MB ⚪ 0.0%

site-editor

Metric trunk 1941be0 Diff Change
load 1575 ms 1501 ms 74 ms 🟢 -4.7%

site-startup

Metric trunk 1941be0 Diff Change
siteCreation 8584 ms 8571 ms 13 ms ⚪ 0.0%
siteStartup 4929 ms 4924 ms 5 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

@fredrikekelund
fredrikekelund merged commit 7d13256 into trunk May 20, 2026
10 checks passed
@fredrikekelund
fredrikekelund deleted the rsm-2697-phpmyadmin-native-php branch May 20, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants