From a35f48be2e990946666ab10661e4790d56c3214e Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sat, 8 Feb 2025 21:42:37 -0400 Subject: [PATCH 01/15] WIP: node/php updates from serverlesswp-node --- package.json | 4 ++-- test/Dockerfile | 2 +- test/run.sh | 9 ++++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 53bf036ef..c8ef5ac4d 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,9 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.2" + "serverlesswp": "^0.1.3" }, "engines": { - "node": "18.x" + "node": "22.x" } } diff --git a/test/Dockerfile b/test/Dockerfile index 005799a26..e9b06e17b 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/lambda/nodejs:18 +FROM public.ecr.aws/lambda/nodejs:22 COPY package.json ${LAMBDA_TASK_ROOT}/ RUN npm install --omit=optional --omit=dev diff --git a/test/run.sh b/test/run.sh index 85edd5ffb..75b6371e3 100755 --- a/test/run.sh +++ b/test/run.sh @@ -2,11 +2,14 @@ ./build-test.sh -docker run -p 9000:8080 -d -e FQDBDIR='/tmp/db' --name serverlesswp-test serverlesswp-test +docker run -p 9000:8080 -d --name serverlesswp-test serverlesswp-test -curl -s -o /dev/null -w "%{http_code}" -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/installer.php"}' +curl -s -o /dev/null -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/installer.php"}' + +#sleep 180 + +curl -s -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/"}' -curl -s -o /dev/null -w "%{http_code}" -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/"}' docker stop serverlesswp-test docker rm serverlesswp-test \ No newline at end of file From 4b140a95a2fff02f0c73af05108dd79e359a5ff0 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sat, 8 Feb 2025 21:44:55 -0400 Subject: [PATCH 02/15] Use proper canary version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8ef5ac4d..69a8a4717 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3" + "serverlesswp": "^0.1.3-canary" }, "engines": { "node": "22.x" From 2c5864745e93e67f8ca9c13c5bcd823c603c98c7 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sat, 8 Feb 2025 21:49:44 -0400 Subject: [PATCH 03/15] Pass in sqlite env var --- test/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run.sh b/test/run.sh index 75b6371e3..14477d20d 100755 --- a/test/run.sh +++ b/test/run.sh @@ -2,7 +2,7 @@ ./build-test.sh -docker run -p 9000:8080 -d --name serverlesswp-test serverlesswp-test +docker run -e FQDBDIR=/tmp/db -p 9000:8080 -d --name serverlesswp-test serverlesswp-test curl -s -o /dev/null -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/installer.php"}' From 39fd3efcfb85302ef55d946057d38b6483701c75 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sun, 9 Feb 2025 22:22:34 -0400 Subject: [PATCH 04/15] Try injecting the host header --- package.json | 2 +- test/Dockerfile | 2 -- wp/wp-config.php | 5 +++++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 69a8a4717..7bf11fffc 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary" + "serverlesswp": "^0.1.3-canary2" }, "engines": { "node": "22.x" diff --git a/test/Dockerfile b/test/Dockerfile index e9b06e17b..5233315fc 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -12,6 +12,4 @@ COPY test/installer.php ${LAMBDA_TASK_ROOT}/wp/ RUN sed -i 's#{SQLITE_IMPLEMENTATION_FOLDER_PATH}#/tmp/wp/wp-content/plugins/sqlite-database-integration#' ${LAMBDA_TASK_ROOT}/wp/wp-content/db.php -RUN echo "define('FQDBDIR', '/tmp/db' );" >> ${LAMBDA_TASK_ROOT}/wp/wp-config.php - CMD [ "api/index.handler" ] \ No newline at end of file diff --git a/wp/wp-config.php b/wp/wp-config.php index 22eaed7b9..b5a1342e1 100644 --- a/wp/wp-config.php +++ b/wp/wp-config.php @@ -94,6 +94,11 @@ define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL ); $_SERVER['HTTPS'] = 'on'; +$headers = getallheaders(); +if (isset($headers['injectHost'])) { + $_SERVER['HTTP_HOST'] = $headers['injectHost']; +} + // Optional S3 credentials for file storage. if (isset($_ENV['S3_KEY_ID']) && isset($_ENV['S3_ACCESS_KEY'])) { define( 'AS3CF_SETTINGS', serialize( array( From 6e666428a9f55f64aa79503408d3f62b8c459e53 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sun, 9 Feb 2025 22:52:42 -0400 Subject: [PATCH 05/15] Allow skipping mysql flags with an env var --- wp/wp-config.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wp/wp-config.php b/wp/wp-config.php index b5a1342e1..6312b01a2 100644 --- a/wp/wp-config.php +++ b/wp/wp-config.php @@ -91,7 +91,10 @@ /* Add any custom values between this line and the "stop editing" line. */ -define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL ); +if (!isset($_ENV['SKIP_MYSQL_SSL'])) { + define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL ); +} + $_SERVER['HTTPS'] = 'on'; $headers = getallheaders(); From 8694d2a48e002bcad0297b1ee60a773fe68ab926 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sun, 9 Feb 2025 23:07:09 -0400 Subject: [PATCH 06/15] Comment on wp-config.php host --- wp/wp-config.php | 1 + 1 file changed, 1 insertion(+) diff --git a/wp/wp-config.php b/wp/wp-config.php index 6312b01a2..598422b84 100644 --- a/wp/wp-config.php +++ b/wp/wp-config.php @@ -97,6 +97,7 @@ $_SERVER['HTTPS'] = 'on'; +// Inject the true host. $headers = getallheaders(); if (isset($headers['injectHost'])) { $_SERVER['HTTP_HOST'] = $headers['injectHost']; From 7b2295f48bc9cc0766702f5c84f7e878e0fb7a44 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sun, 9 Feb 2025 23:35:51 -0400 Subject: [PATCH 07/15] Remove commented-out line --- test/run.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/run.sh b/test/run.sh index 14477d20d..077a2c35e 100755 --- a/test/run.sh +++ b/test/run.sh @@ -6,8 +6,6 @@ docker run -e FQDBDIR=/tmp/db -p 9000:8080 -d --name serverlesswp-test serverles curl -s -o /dev/null -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/installer.php"}' -#sleep 180 - curl -s -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"path":"/"}' From ef5bc30a4887d590d2c4cbbbaabc6fd61393608c Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Mon, 10 Feb 2025 23:06:23 -0400 Subject: [PATCH 08/15] Bump maxDuration to 60 for Vercel --- vercel.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vercel.json b/vercel.json index 7f5110716..dce08dd4c 100644 --- a/vercel.json +++ b/vercel.json @@ -4,8 +4,8 @@ ], "functions": { "api/index.js": { - "memory": 1024, - "includeFiles": "wp/**" + "includeFiles": "wp/**", + "maxDuration": 60 } }, "build": { From eb571c83c870180782cfe36b5cd42ced6099d613 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Mon, 10 Feb 2025 23:58:47 -0400 Subject: [PATCH 09/15] Bump to canary3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7bf11fffc..76769fbdc 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary2" + "serverlesswp": "^0.1.3-canary3" }, "engines": { "node": "22.x" From bc6be99b2573195268320c3e353c907b857a957d Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Tue, 11 Feb 2025 22:22:19 -0400 Subject: [PATCH 10/15] Binary experiment --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 76769fbdc..4a1f9f359 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary3" + "serverlesswp": "^0.1.3-canary4" }, "engines": { "node": "22.x" From 9ed539fe38943856e9824c36b745420a79c7eec2 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Tue, 11 Feb 2025 22:53:23 -0400 Subject: [PATCH 11/15] Another binary test --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4a1f9f359..9ae0ddbb6 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary4" + "serverlesswp": "^0.1.3-canary5" }, "engines": { "node": "22.x" From ecd6a07025a2159d31b159e21c2e4027153f0dbc Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Tue, 11 Feb 2025 23:09:51 -0400 Subject: [PATCH 12/15] Bump canary --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ae0ddbb6..0d18f4075 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary5" + "serverlesswp": "^0.1.3-canary6" }, "engines": { "node": "22.x" From b2bc7aa49e96eb07764703295bdfd5a3366a7a76 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Wed, 12 Feb 2025 22:23:31 -0400 Subject: [PATCH 13/15] Update serverless.yml --- serverless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverless.yml b/serverless.yml index 086c49082..67d5972d0 100644 --- a/serverless.yml +++ b/serverless.yml @@ -2,7 +2,7 @@ service: serverlesswp-wordpress-starter provider: name: aws - runtime: nodejs18.x + runtime: nodejs22.x httpApi: payload: '2.0' From 5b9ba27f356467ed79865a6a33084b66bca3a046 Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Wed, 12 Feb 2025 22:24:10 -0400 Subject: [PATCH 14/15] Bump serverlesswp-node to 0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d18f4075..e5c16b7a1 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "license": "MIT", "dependencies": { - "serverlesswp": "^0.1.3-canary6" + "serverlesswp": "^0.2.0" }, "engines": { "node": "22.x" From eafbfc4004c8a430f87107f999272ba7345bd23b Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Wed, 12 Feb 2025 22:52:22 -0400 Subject: [PATCH 15/15] Try .nvmrc for netlify --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..8fdd954df --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 \ No newline at end of file