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
Copy link
Copy Markdown
Contributor

@fredrikekelund fredrikekelund commented May 11, 2026

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

Copy link
Copy Markdown
Contributor

@bcotrim bcotrim left a comment

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants