feat: run WordPress projects on native runtime

This commit is contained in:
reaper
2026-08-22 04:11:44 -05:00
parent 6fc33cc8a4
commit 8356a6949a
12 changed files with 1687 additions and 378 deletions
+2 -1
View File
@@ -28,7 +28,8 @@ for (const executable of [
'php-fpm',
'nginx',
'mariadbd',
'mariadb-install-db'
'mariadb-install-db',
'wp'
]) {
const path = join(stagingRoot, 'bin', executable)
if (!existsSync(path)) throw new Error(`Builder did not produce ${path}`)
+15
View File
@@ -28,6 +28,12 @@ const checks = [
join(root, 'bin/mariadbd'),
['--version'],
template.components.find((item) => item.id === 'mariadb')?.version
],
[
'WP-CLI',
join(root, 'bin/wp'),
['--version'],
template.components.find((item) => item.id === 'wp-cli')?.version
]
]
for (const [name, command, args, version] of checks) {
@@ -40,6 +46,15 @@ for (const [name, command, args, version] of checks) {
process.stdout.write(`${name} ${version} OK\n`)
}
const extensions = spawnSync(
join(root, 'bin/php'),
['-r', "exit(extension_loaded('mysqli') && extension_loaded('pdo_mysql') ? 0 : 1);"],
{ encoding: 'utf8' }
)
if (extensions.error || extensions.status !== 0)
throw extensions.error || new Error(`PHP database extensions failed: ${extensions.stderr}`)
process.stdout.write('PHP mysqli and pdo_mysql extensions OK\n')
const databaseDirectory = mkdtempSync(join(tmpdir(), 'aurora-native-mariadb-'))
const temporaryDirectory = mkdtempSync(join(tmpdir(), 'aurora-native-mariadb-tmp-'))
try {