aboutsummaryrefslogtreecommitdiffhomepage
path: root/worker/php/php-wasm.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-09-05 20:12:41 +0900
committernsfisis <nsfisis@gmail.com>2025-09-05 20:52:56 +0900
commitc7941d027be068f6e563a17e882232580fe15334 (patch)
tree40479fdff8903af289f8a2a02c6f58ba1c69a82c /worker/php/php-wasm.c
parent0f91e938442b22e54ba2f1b29e25d678cf0acdd3 (diff)
downloadiosdc-japan-2025-albatross-c7941d027be068f6e563a17e882232580fe15334.tar.gz
iosdc-japan-2025-albatross-c7941d027be068f6e563a17e882232580fe15334.tar.zst
iosdc-japan-2025-albatross-c7941d027be068f6e563a17e882232580fe15334.zip
feat(worker): move directory worker/ to worker/php/
Diffstat (limited to 'worker/php/php-wasm.c')
-rw-r--r--worker/php/php-wasm.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/worker/php/php-wasm.c b/worker/php/php-wasm.c
new file mode 100644
index 0000000..9c71ca1
--- /dev/null
+++ b/worker/php/php-wasm.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <emscripten.h>
+#include <Zend/zend_execute.h>
+#include <sapi/embed/php_embed.h>
+
+int EMSCRIPTEN_KEEPALIVE php_wasm_run(const char* code) {
+ zend_result result;
+
+ int argc = 1;
+ char* argv[] = { "php.wasm", NULL };
+
+ PHP_EMBED_START_BLOCK(argc, argv);
+
+ result = zend_eval_string_ex(code, NULL, "php.wasm code", 1);
+
+ PHP_EMBED_END_BLOCK();
+
+ fflush(stdout);
+ fflush(stderr);
+
+ return result == SUCCESS ? 0 : 1;
+}