@php-wasm/node 1.1.4 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/asyncify/7_2_34/php_7_2.wasm +0 -0
  2. package/asyncify/7_3_33/php_7_3.wasm +0 -0
  3. package/asyncify/7_4_33/php_7_4.wasm +0 -0
  4. package/asyncify/8_0_30/php_8_0.wasm +0 -0
  5. package/asyncify/8_1_23/php_8_1.wasm +0 -0
  6. package/asyncify/8_2_10/php_8_2.wasm +0 -0
  7. package/asyncify/8_3_0/php_8_3.wasm +0 -0
  8. package/asyncify/8_4_0/php_8_4.wasm +0 -0
  9. package/asyncify/php_7_2.js +55 -33
  10. package/asyncify/php_7_3.js +55 -33
  11. package/asyncify/php_7_4.js +63 -41
  12. package/asyncify/php_8_0.js +67 -45
  13. package/asyncify/php_8_1.js +56 -34
  14. package/asyncify/php_8_2.js +56 -34
  15. package/asyncify/php_8_3.js +56 -34
  16. package/asyncify/php_8_4.js +55 -33
  17. package/index.cjs +230308 -70174
  18. package/index.js +229696 -69447
  19. package/jspi/7_2_34/php_7_2.wasm +0 -0
  20. package/jspi/7_3_33/php_7_3.wasm +0 -0
  21. package/jspi/7_4_33/php_7_4.wasm +0 -0
  22. package/jspi/8_0_30/php_8_0.wasm +0 -0
  23. package/jspi/8_1_23/php_8_1.wasm +0 -0
  24. package/jspi/8_2_10/php_8_2.wasm +0 -0
  25. package/jspi/8_3_0/php_8_3.wasm +0 -0
  26. package/jspi/8_4_0/php_8_4.wasm +0 -0
  27. package/jspi/extensions/xdebug/7_2/xdebug.la +35 -0
  28. package/jspi/extensions/xdebug/7_2/xdebug.so +0 -0
  29. package/jspi/extensions/xdebug/7_3/xdebug.la +35 -0
  30. package/jspi/extensions/xdebug/7_3/xdebug.so +0 -0
  31. package/jspi/extensions/xdebug/7_4/xdebug.la +35 -0
  32. package/jspi/extensions/xdebug/7_4/xdebug.so +0 -0
  33. package/jspi/extensions/xdebug/8_0/xdebug.la +35 -0
  34. package/jspi/extensions/xdebug/8_0/xdebug.so +0 -0
  35. package/jspi/extensions/xdebug/8_1/xdebug.la +35 -0
  36. package/jspi/extensions/xdebug/8_1/xdebug.so +0 -0
  37. package/jspi/extensions/xdebug/8_2/xdebug.la +35 -0
  38. package/jspi/extensions/xdebug/8_2/xdebug.so +0 -0
  39. package/jspi/extensions/xdebug/8_3/xdebug.la +35 -0
  40. package/jspi/extensions/xdebug/8_3/xdebug.so +0 -0
  41. package/jspi/extensions/xdebug/8_4/xdebug.la +35 -0
  42. package/jspi/extensions/xdebug/8_4/xdebug.so +0 -0
  43. package/jspi/php_7_2.js +27165 -2210
  44. package/jspi/php_7_3.js +27165 -2210
  45. package/jspi/php_7_4.js +27164 -2214
  46. package/jspi/php_8_0.js +27265 -2327
  47. package/jspi/php_8_1.js +27258 -2356
  48. package/jspi/php_8_2.js +27258 -2359
  49. package/jspi/php_8_3.js +27258 -2359
  50. package/jspi/php_8_4.js +27258 -2359
  51. package/lib/file-lock-manager-for-node.d.ts +10 -2
  52. package/lib/load-runtime.d.ts +1 -0
  53. package/lib/xdebug/get-xdebug-extension-module.d.ts +2 -0
  54. package/lib/xdebug/with-xdebug.d.ts +2 -0
  55. package/package.json +8 -8
  56. package/fs_ext.node +0 -0
@@ -8,7 +8,7 @@ import path from 'path';
8
8
 
9
9
  const dependencyFilename = path.join(__dirname, '8_0_30', 'php_8_0.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 17684220;
11
+ export const dependenciesTotalSize = 18445624;
12
12
  export function init(RuntimeName, PHPLoader) {
13
13
  // The rest of the code comes from the built php.js file and esm-suffix.js
14
14
  // include: shell.js
@@ -7002,6 +7002,14 @@ export function init(RuntimeName, PHPLoader) {
7002
7002
 
7003
7003
  var PHPWASM = {
7004
7004
  init: function () {
7005
+ Module['ENV'] = Module['ENV'] || {};
7006
+ // Ensure a platform-level bin directory for a fallback `php` binary.
7007
+ Module['ENV']['PATH'] = [
7008
+ Module['ENV']['PATH'],
7009
+ '/internal/shared/bin',
7010
+ ]
7011
+ .filter(Boolean)
7012
+ .join(':');
7005
7013
  // The /internal directory is required by the C module. It's where the
7006
7014
  // stdout, stderr, and headers information are written for the JavaScript
7007
7015
  // code to read later on.
@@ -7012,6 +7020,20 @@ export function init(RuntimeName, PHPLoader) {
7012
7020
  // The files from the preload directory are preloaded using the
7013
7021
  // auto_prepend_file php.ini directive.
7014
7022
  FS.mkdir('/internal/shared/preload');
7023
+ // Platform-level bin directory for a fallback `php` binary. Without it,
7024
+ // PHP may not populate the PHP_BINARY constant.
7025
+ FS.mkdir('/internal/shared/bin');
7026
+ const originalOnRuntimeInitialized = Module['onRuntimeInitialized'];
7027
+ Module['onRuntimeInitialized'] = () => {
7028
+ // Dummy PHP binary for PHP to populate the PHP_BINARY constant.
7029
+ FS.writeFile(
7030
+ '/internal/shared/bin/php',
7031
+ new TextEncoder().encode('#!/bin/sh\nphp "$@"')
7032
+ );
7033
+ // It must be executable to be used by PHP.
7034
+ FS.chmod('/internal/shared/bin/php', 493);
7035
+ originalOnRuntimeInitialized();
7036
+ };
7015
7037
  // Create stdout and stderr devices. We can't just use Emscripten's
7016
7038
  // default stdout and stderr devices because they stop processing data
7017
7039
  // on the first null byte. However, when dealing with binary data,
@@ -8009,7 +8031,7 @@ export function init(RuntimeName, PHPLoader) {
8009
8031
  var Asyncify = {
8010
8032
  instrumentWasmImports(imports) {
8011
8033
  var importPattern =
8012
- /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8034
+ /^(invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8013
8035
  for (let [x, original] of Object.entries(imports)) {
8014
8036
  if (typeof original == 'function') {
8015
8037
  let isAsyncifyImport =
@@ -8978,7 +9000,7 @@ export function init(RuntimeName, PHPLoader) {
8978
9000
  var dynCall_v = (Module['dynCall_v'] = (a0) =>
8979
9001
  (dynCall_v = Module['dynCall_v'] = wasmExports['jc'])(a0));
8980
9002
 
8981
- var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9003
+ var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
8982
9004
  a0,
8983
9005
  a1,
8984
9006
  a2,
@@ -8990,7 +9012,7 @@ export function init(RuntimeName, PHPLoader) {
8990
9012
  a8,
8991
9013
  a9
8992
9014
  ) =>
8993
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['kc'])(
9015
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['kc'])(
8994
9016
  a0,
8995
9017
  a1,
8996
9018
  a2,
@@ -9003,7 +9025,23 @@ export function init(RuntimeName, PHPLoader) {
9003
9025
  a9
9004
9026
  ));
9005
9027
 
9006
- var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9028
+ var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
9029
+ (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['lc'])(
9030
+ a0,
9031
+ a1,
9032
+ a2,
9033
+ a3
9034
+ ));
9035
+
9036
+ var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9037
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['mc'])(
9038
+ a0,
9039
+ a1,
9040
+ a2,
9041
+ a3
9042
+ ));
9043
+
9044
+ var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9007
9045
  a0,
9008
9046
  a1,
9009
9047
  a2,
@@ -9011,9 +9049,11 @@ export function init(RuntimeName, PHPLoader) {
9011
9049
  a4,
9012
9050
  a5,
9013
9051
  a6,
9014
- a7
9052
+ a7,
9053
+ a8,
9054
+ a9
9015
9055
  ) =>
9016
- (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['lc'])(
9056
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['nc'])(
9017
9057
  a0,
9018
9058
  a1,
9019
9059
  a2,
@@ -9021,7 +9061,9 @@ export function init(RuntimeName, PHPLoader) {
9021
9061
  a4,
9022
9062
  a5,
9023
9063
  a6,
9024
- a7
9064
+ a7,
9065
+ a8,
9066
+ a9
9025
9067
  ));
9026
9068
 
9027
9069
  var dynCall_viiiiii = (Module['dynCall_viiiiii'] = (
@@ -9033,7 +9075,7 @@ export function init(RuntimeName, PHPLoader) {
9033
9075
  a5,
9034
9076
  a6
9035
9077
  ) =>
9036
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['mc'])(
9078
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['oc'])(
9037
9079
  a0,
9038
9080
  a1,
9039
9081
  a2,
@@ -9043,7 +9085,7 @@ export function init(RuntimeName, PHPLoader) {
9043
9085
  a6
9044
9086
  ));
9045
9087
 
9046
- var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9088
+ var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9047
9089
  a0,
9048
9090
  a1,
9049
9091
  a2,
@@ -9053,7 +9095,7 @@ export function init(RuntimeName, PHPLoader) {
9053
9095
  a6,
9054
9096
  a7
9055
9097
  ) =>
9056
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['nc'])(
9098
+ (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['pc'])(
9057
9099
  a0,
9058
9100
  a1,
9059
9101
  a2,
@@ -9064,7 +9106,7 @@ export function init(RuntimeName, PHPLoader) {
9064
9106
  a7
9065
9107
  ));
9066
9108
 
9067
- var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
9109
+ var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9068
9110
  a0,
9069
9111
  a1,
9070
9112
  a2,
@@ -9072,11 +9114,9 @@ export function init(RuntimeName, PHPLoader) {
9072
9114
  a4,
9073
9115
  a5,
9074
9116
  a6,
9075
- a7,
9076
- a8,
9077
- a9
9117
+ a7
9078
9118
  ) =>
9079
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['oc'])(
9119
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['qc'])(
9080
9120
  a0,
9081
9121
  a1,
9082
9122
  a2,
@@ -9084,24 +9124,11 @@ export function init(RuntimeName, PHPLoader) {
9084
9124
  a4,
9085
9125
  a5,
9086
9126
  a6,
9087
- a7,
9088
- a8,
9089
- a9
9090
- ));
9091
-
9092
- var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9093
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['pc'])(
9094
- a0,
9095
- a1,
9096
- a2,
9097
- a3
9127
+ a7
9098
9128
  ));
9099
9129
 
9100
- var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
9101
- (dynCall_jii = Module['dynCall_jii'] = wasmExports['qc'])(a0, a1, a2));
9102
-
9103
- var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9104
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['rc'])(
9130
+ var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9131
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['rc'])(
9105
9132
  a0,
9106
9133
  a1,
9107
9134
  a2,
@@ -9110,16 +9137,11 @@ export function init(RuntimeName, PHPLoader) {
9110
9137
  a5
9111
9138
  ));
9112
9139
 
9113
- var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
9114
- (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['sc'])(
9115
- a0,
9116
- a1,
9117
- a2,
9118
- a3
9119
- ));
9140
+ var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9141
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['sc'])(a0, a1, a2));
9120
9142
 
9121
- var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9122
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['tc'])(
9143
+ var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9144
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['tc'])(
9123
9145
  a0,
9124
9146
  a1,
9125
9147
  a2,
@@ -9128,11 +9150,8 @@ export function init(RuntimeName, PHPLoader) {
9128
9150
  a5
9129
9151
  ));
9130
9152
 
9131
- var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9132
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['uc'])(a0, a1, a2));
9133
-
9134
9153
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
9135
- (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['vc'])(
9154
+ (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['uc'])(
9136
9155
  a0,
9137
9156
  a1,
9138
9157
  a2,
@@ -9141,6 +9160,9 @@ export function init(RuntimeName, PHPLoader) {
9141
9160
  a5
9142
9161
  ));
9143
9162
 
9163
+ var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
9164
+ (dynCall_jii = Module['dynCall_jii'] = wasmExports['vc'])(a0, a1, a2));
9165
+
9144
9166
  var _asyncify_start_unwind = (a0) =>
9145
9167
  (_asyncify_start_unwind = wasmExports['wc'])(a0);
9146
9168
 
@@ -8,7 +8,7 @@ import path from 'path';
8
8
 
9
9
  const dependencyFilename = path.join(__dirname, '8_1_23', 'php_8_1.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 17686407;
11
+ export const dependenciesTotalSize = 18446910;
12
12
  export function init(RuntimeName, PHPLoader) {
13
13
  // The rest of the code comes from the built php.js file and esm-suffix.js
14
14
  // include: shell.js
@@ -7030,6 +7030,14 @@ export function init(RuntimeName, PHPLoader) {
7030
7030
 
7031
7031
  var PHPWASM = {
7032
7032
  init: function () {
7033
+ Module['ENV'] = Module['ENV'] || {};
7034
+ // Ensure a platform-level bin directory for a fallback `php` binary.
7035
+ Module['ENV']['PATH'] = [
7036
+ Module['ENV']['PATH'],
7037
+ '/internal/shared/bin',
7038
+ ]
7039
+ .filter(Boolean)
7040
+ .join(':');
7033
7041
  // The /internal directory is required by the C module. It's where the
7034
7042
  // stdout, stderr, and headers information are written for the JavaScript
7035
7043
  // code to read later on.
@@ -7040,6 +7048,20 @@ export function init(RuntimeName, PHPLoader) {
7040
7048
  // The files from the preload directory are preloaded using the
7041
7049
  // auto_prepend_file php.ini directive.
7042
7050
  FS.mkdir('/internal/shared/preload');
7051
+ // Platform-level bin directory for a fallback `php` binary. Without it,
7052
+ // PHP may not populate the PHP_BINARY constant.
7053
+ FS.mkdir('/internal/shared/bin');
7054
+ const originalOnRuntimeInitialized = Module['onRuntimeInitialized'];
7055
+ Module['onRuntimeInitialized'] = () => {
7056
+ // Dummy PHP binary for PHP to populate the PHP_BINARY constant.
7057
+ FS.writeFile(
7058
+ '/internal/shared/bin/php',
7059
+ new TextEncoder().encode('#!/bin/sh\nphp "$@"')
7060
+ );
7061
+ // It must be executable to be used by PHP.
7062
+ FS.chmod('/internal/shared/bin/php', 493);
7063
+ originalOnRuntimeInitialized();
7064
+ };
7043
7065
  // Create stdout and stderr devices. We can't just use Emscripten's
7044
7066
  // default stdout and stderr devices because they stop processing data
7045
7067
  // on the first null byte. However, when dealing with binary data,
@@ -8041,7 +8063,7 @@ export function init(RuntimeName, PHPLoader) {
8041
8063
  var Asyncify = {
8042
8064
  instrumentWasmImports(imports) {
8043
8065
  var importPattern =
8044
- /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8066
+ /^(invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8045
8067
  for (let [x, original] of Object.entries(imports)) {
8046
8068
  if (typeof original == 'function') {
8047
8069
  let isAsyncifyImport =
@@ -9025,7 +9047,7 @@ export function init(RuntimeName, PHPLoader) {
9025
9047
  a3
9026
9048
  ));
9027
9049
 
9028
- var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9050
+ var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
9029
9051
  a0,
9030
9052
  a1,
9031
9053
  a2,
@@ -9037,7 +9059,7 @@ export function init(RuntimeName, PHPLoader) {
9037
9059
  a8,
9038
9060
  a9
9039
9061
  ) =>
9040
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['qc'])(
9062
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['qc'])(
9041
9063
  a0,
9042
9064
  a1,
9043
9065
  a2,
@@ -9050,7 +9072,15 @@ export function init(RuntimeName, PHPLoader) {
9050
9072
  a9
9051
9073
  ));
9052
9074
 
9053
- var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9075
+ var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9076
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['rc'])(
9077
+ a0,
9078
+ a1,
9079
+ a2,
9080
+ a3
9081
+ ));
9082
+
9083
+ var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9054
9084
  a0,
9055
9085
  a1,
9056
9086
  a2,
@@ -9058,9 +9088,11 @@ export function init(RuntimeName, PHPLoader) {
9058
9088
  a4,
9059
9089
  a5,
9060
9090
  a6,
9061
- a7
9091
+ a7,
9092
+ a8,
9093
+ a9
9062
9094
  ) =>
9063
- (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['rc'])(
9095
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['sc'])(
9064
9096
  a0,
9065
9097
  a1,
9066
9098
  a2,
@@ -9068,7 +9100,9 @@ export function init(RuntimeName, PHPLoader) {
9068
9100
  a4,
9069
9101
  a5,
9070
9102
  a6,
9071
- a7
9103
+ a7,
9104
+ a8,
9105
+ a9
9072
9106
  ));
9073
9107
 
9074
9108
  var dynCall_viiiiii = (Module['dynCall_viiiiii'] = (
@@ -9080,7 +9114,7 @@ export function init(RuntimeName, PHPLoader) {
9080
9114
  a5,
9081
9115
  a6
9082
9116
  ) =>
9083
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['sc'])(
9117
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['tc'])(
9084
9118
  a0,
9085
9119
  a1,
9086
9120
  a2,
@@ -9090,7 +9124,7 @@ export function init(RuntimeName, PHPLoader) {
9090
9124
  a6
9091
9125
  ));
9092
9126
 
9093
- var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9127
+ var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9094
9128
  a0,
9095
9129
  a1,
9096
9130
  a2,
@@ -9100,7 +9134,7 @@ export function init(RuntimeName, PHPLoader) {
9100
9134
  a6,
9101
9135
  a7
9102
9136
  ) =>
9103
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['tc'])(
9137
+ (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['uc'])(
9104
9138
  a0,
9105
9139
  a1,
9106
9140
  a2,
@@ -9111,7 +9145,7 @@ export function init(RuntimeName, PHPLoader) {
9111
9145
  a7
9112
9146
  ));
9113
9147
 
9114
- var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
9148
+ var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9115
9149
  a0,
9116
9150
  a1,
9117
9151
  a2,
@@ -9119,11 +9153,9 @@ export function init(RuntimeName, PHPLoader) {
9119
9153
  a4,
9120
9154
  a5,
9121
9155
  a6,
9122
- a7,
9123
- a8,
9124
- a9
9156
+ a7
9125
9157
  ) =>
9126
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['uc'])(
9158
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['vc'])(
9127
9159
  a0,
9128
9160
  a1,
9129
9161
  a2,
@@ -9131,21 +9163,11 @@ export function init(RuntimeName, PHPLoader) {
9131
9163
  a4,
9132
9164
  a5,
9133
9165
  a6,
9134
- a7,
9135
- a8,
9136
- a9
9137
- ));
9138
-
9139
- var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9140
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['vc'])(
9141
- a0,
9142
- a1,
9143
- a2,
9144
- a3
9166
+ a7
9145
9167
  ));
9146
9168
 
9147
- var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9148
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['wc'])(
9169
+ var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9170
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['wc'])(
9149
9171
  a0,
9150
9172
  a1,
9151
9173
  a2,
@@ -9154,8 +9176,11 @@ export function init(RuntimeName, PHPLoader) {
9154
9176
  a5
9155
9177
  ));
9156
9178
 
9157
- var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9158
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['xc'])(
9179
+ var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9180
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['xc'])(a0, a1, a2));
9181
+
9182
+ var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9183
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['yc'])(
9159
9184
  a0,
9160
9185
  a1,
9161
9186
  a2,
@@ -9164,9 +9189,6 @@ export function init(RuntimeName, PHPLoader) {
9164
9189
  a5
9165
9190
  ));
9166
9191
 
9167
- var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9168
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['yc'])(a0, a1, a2));
9169
-
9170
9192
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
9171
9193
  (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['zc'])(
9172
9194
  a0,
@@ -8,7 +8,7 @@ import path from 'path';
8
8
 
9
9
  const dependencyFilename = path.join(__dirname, '8_2_10', 'php_8_2.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 18041661;
11
+ export const dependenciesTotalSize = 18802780;
12
12
  export function init(RuntimeName, PHPLoader) {
13
13
  // The rest of the code comes from the built php.js file and esm-suffix.js
14
14
  // include: shell.js
@@ -7032,6 +7032,14 @@ export function init(RuntimeName, PHPLoader) {
7032
7032
 
7033
7033
  var PHPWASM = {
7034
7034
  init: function () {
7035
+ Module['ENV'] = Module['ENV'] || {};
7036
+ // Ensure a platform-level bin directory for a fallback `php` binary.
7037
+ Module['ENV']['PATH'] = [
7038
+ Module['ENV']['PATH'],
7039
+ '/internal/shared/bin',
7040
+ ]
7041
+ .filter(Boolean)
7042
+ .join(':');
7035
7043
  // The /internal directory is required by the C module. It's where the
7036
7044
  // stdout, stderr, and headers information are written for the JavaScript
7037
7045
  // code to read later on.
@@ -7042,6 +7050,20 @@ export function init(RuntimeName, PHPLoader) {
7042
7050
  // The files from the preload directory are preloaded using the
7043
7051
  // auto_prepend_file php.ini directive.
7044
7052
  FS.mkdir('/internal/shared/preload');
7053
+ // Platform-level bin directory for a fallback `php` binary. Without it,
7054
+ // PHP may not populate the PHP_BINARY constant.
7055
+ FS.mkdir('/internal/shared/bin');
7056
+ const originalOnRuntimeInitialized = Module['onRuntimeInitialized'];
7057
+ Module['onRuntimeInitialized'] = () => {
7058
+ // Dummy PHP binary for PHP to populate the PHP_BINARY constant.
7059
+ FS.writeFile(
7060
+ '/internal/shared/bin/php',
7061
+ new TextEncoder().encode('#!/bin/sh\nphp "$@"')
7062
+ );
7063
+ // It must be executable to be used by PHP.
7064
+ FS.chmod('/internal/shared/bin/php', 493);
7065
+ originalOnRuntimeInitialized();
7066
+ };
7045
7067
  // Create stdout and stderr devices. We can't just use Emscripten's
7046
7068
  // default stdout and stderr devices because they stop processing data
7047
7069
  // on the first null byte. However, when dealing with binary data,
@@ -8043,7 +8065,7 @@ export function init(RuntimeName, PHPLoader) {
8043
8065
  var Asyncify = {
8044
8066
  instrumentWasmImports(imports) {
8045
8067
  var importPattern =
8046
- /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8068
+ /^(invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8047
8069
  for (let [x, original] of Object.entries(imports)) {
8048
8070
  if (typeof original == 'function') {
8049
8071
  let isAsyncifyImport =
@@ -9028,7 +9050,7 @@ export function init(RuntimeName, PHPLoader) {
9028
9050
  a3
9029
9051
  ));
9030
9052
 
9031
- var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9053
+ var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
9032
9054
  a0,
9033
9055
  a1,
9034
9056
  a2,
@@ -9040,7 +9062,7 @@ export function init(RuntimeName, PHPLoader) {
9040
9062
  a8,
9041
9063
  a9
9042
9064
  ) =>
9043
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['rc'])(
9065
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['rc'])(
9044
9066
  a0,
9045
9067
  a1,
9046
9068
  a2,
@@ -9053,7 +9075,15 @@ export function init(RuntimeName, PHPLoader) {
9053
9075
  a9
9054
9076
  ));
9055
9077
 
9056
- var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9078
+ var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9079
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['sc'])(
9080
+ a0,
9081
+ a1,
9082
+ a2,
9083
+ a3
9084
+ ));
9085
+
9086
+ var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
9057
9087
  a0,
9058
9088
  a1,
9059
9089
  a2,
@@ -9061,9 +9091,11 @@ export function init(RuntimeName, PHPLoader) {
9061
9091
  a4,
9062
9092
  a5,
9063
9093
  a6,
9064
- a7
9094
+ a7,
9095
+ a8,
9096
+ a9
9065
9097
  ) =>
9066
- (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['sc'])(
9098
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['tc'])(
9067
9099
  a0,
9068
9100
  a1,
9069
9101
  a2,
@@ -9071,7 +9103,9 @@ export function init(RuntimeName, PHPLoader) {
9071
9103
  a4,
9072
9104
  a5,
9073
9105
  a6,
9074
- a7
9106
+ a7,
9107
+ a8,
9108
+ a9
9075
9109
  ));
9076
9110
 
9077
9111
  var dynCall_viiiiii = (Module['dynCall_viiiiii'] = (
@@ -9083,7 +9117,7 @@ export function init(RuntimeName, PHPLoader) {
9083
9117
  a5,
9084
9118
  a6
9085
9119
  ) =>
9086
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['tc'])(
9120
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['uc'])(
9087
9121
  a0,
9088
9122
  a1,
9089
9123
  a2,
@@ -9093,7 +9127,7 @@ export function init(RuntimeName, PHPLoader) {
9093
9127
  a6
9094
9128
  ));
9095
9129
 
9096
- var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9130
+ var dynCall_viiiiiii = (Module['dynCall_viiiiiii'] = (
9097
9131
  a0,
9098
9132
  a1,
9099
9133
  a2,
@@ -9103,7 +9137,7 @@ export function init(RuntimeName, PHPLoader) {
9103
9137
  a6,
9104
9138
  a7
9105
9139
  ) =>
9106
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['uc'])(
9140
+ (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['vc'])(
9107
9141
  a0,
9108
9142
  a1,
9109
9143
  a2,
@@ -9114,7 +9148,7 @@ export function init(RuntimeName, PHPLoader) {
9114
9148
  a7
9115
9149
  ));
9116
9150
 
9117
- var dynCall_iiiiiiiiii = (Module['dynCall_iiiiiiiiii'] = (
9151
+ var dynCall_iiiiiiii = (Module['dynCall_iiiiiiii'] = (
9118
9152
  a0,
9119
9153
  a1,
9120
9154
  a2,
@@ -9122,11 +9156,9 @@ export function init(RuntimeName, PHPLoader) {
9122
9156
  a4,
9123
9157
  a5,
9124
9158
  a6,
9125
- a7,
9126
- a8,
9127
- a9
9159
+ a7
9128
9160
  ) =>
9129
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['vc'])(
9161
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['wc'])(
9130
9162
  a0,
9131
9163
  a1,
9132
9164
  a2,
@@ -9134,21 +9166,11 @@ export function init(RuntimeName, PHPLoader) {
9134
9166
  a4,
9135
9167
  a5,
9136
9168
  a6,
9137
- a7,
9138
- a8,
9139
- a9
9140
- ));
9141
-
9142
- var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
9143
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['wc'])(
9144
- a0,
9145
- a1,
9146
- a2,
9147
- a3
9169
+ a7
9148
9170
  ));
9149
9171
 
9150
- var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9151
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['xc'])(
9172
+ var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9173
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['xc'])(
9152
9174
  a0,
9153
9175
  a1,
9154
9176
  a2,
@@ -9157,8 +9179,11 @@ export function init(RuntimeName, PHPLoader) {
9157
9179
  a5
9158
9180
  ));
9159
9181
 
9160
- var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
9161
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['yc'])(
9182
+ var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9183
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['yc'])(a0, a1, a2));
9184
+
9185
+ var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
9186
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['zc'])(
9162
9187
  a0,
9163
9188
  a1,
9164
9189
  a2,
@@ -9167,9 +9192,6 @@ export function init(RuntimeName, PHPLoader) {
9167
9192
  a5
9168
9193
  ));
9169
9194
 
9170
- var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
9171
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['zc'])(a0, a1, a2));
9172
-
9173
9195
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
9174
9196
  (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['Ac'])(
9175
9197
  a0,