@php-wasm/node 0.6.2 → 0.6.4
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.
- package/7_0_33/php_7_0.wasm +0 -0
- package/7_1_30/php_7_1.wasm +0 -0
- package/7_2_34/php_7_2.wasm +0 -0
- package/7_3_33/php_7_3.wasm +0 -0
- package/7_4_33/php_7_4.wasm +0 -0
- package/8_0_30/php_8_0.wasm +0 -0
- package/8_1_23/php_8_1.wasm +0 -0
- package/8_2_10/php_8_2.wasm +0 -0
- package/8_3_0/php_8_3.wasm +0 -0
- package/index.cjs +3357 -953
- package/index.d.ts +9 -22
- package/package.json +5 -5
- package/php_7_0.js +356 -95
- package/php_7_1.js +355 -94
- package/php_7_2.js +356 -95
- package/php_7_3.js +356 -95
- package/php_7_4.js +357 -96
- package/php_8_0.js +358 -97
- package/php_8_1.js +357 -96
- package/php_8_2.js +357 -96
- package/php_8_3.js +357 -96
package/php_8_0.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const dependencyFilename = __dirname + '/8_0_30/php_8_0.wasm';
|
|
2
2
|
export { dependencyFilename };
|
|
3
|
-
export const dependenciesTotalSize =
|
|
3
|
+
export const dependenciesTotalSize = 11121604;
|
|
4
4
|
export function init(RuntimeName, PHPLoader) {
|
|
5
5
|
/**
|
|
6
6
|
* Overrides Emscripten's default ExitStatus object which gets
|
|
@@ -1475,6 +1475,216 @@ var NODEFS = {
|
|
|
1475
1475
|
}
|
|
1476
1476
|
};
|
|
1477
1477
|
|
|
1478
|
+
var PROXYFS = {
|
|
1479
|
+
mount(mount) {
|
|
1480
|
+
return PROXYFS.createNode(null, "/", mount.opts.fs.lstat(mount.opts.root).mode, 0);
|
|
1481
|
+
},
|
|
1482
|
+
createNode(parent, name, mode, dev) {
|
|
1483
|
+
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
|
|
1484
|
+
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
1485
|
+
}
|
|
1486
|
+
var node = FS.createNode(parent, name, mode);
|
|
1487
|
+
node.node_ops = PROXYFS.node_ops;
|
|
1488
|
+
node.stream_ops = PROXYFS.stream_ops;
|
|
1489
|
+
return node;
|
|
1490
|
+
},
|
|
1491
|
+
realPath(node) {
|
|
1492
|
+
var parts = [];
|
|
1493
|
+
while (node.parent !== node) {
|
|
1494
|
+
parts.push(node.name);
|
|
1495
|
+
node = node.parent;
|
|
1496
|
+
}
|
|
1497
|
+
parts.push(node.mount.opts.root);
|
|
1498
|
+
parts.reverse();
|
|
1499
|
+
return PATH.join.apply(null, parts);
|
|
1500
|
+
},
|
|
1501
|
+
node_ops: {
|
|
1502
|
+
getattr(node) {
|
|
1503
|
+
var path = PROXYFS.realPath(node);
|
|
1504
|
+
var stat;
|
|
1505
|
+
try {
|
|
1506
|
+
stat = node.mount.opts.fs.lstat(path);
|
|
1507
|
+
} catch (e) {
|
|
1508
|
+
if (!e.code) throw e;
|
|
1509
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1510
|
+
}
|
|
1511
|
+
return {
|
|
1512
|
+
dev: stat.dev,
|
|
1513
|
+
ino: stat.ino,
|
|
1514
|
+
mode: stat.mode,
|
|
1515
|
+
nlink: stat.nlink,
|
|
1516
|
+
uid: stat.uid,
|
|
1517
|
+
gid: stat.gid,
|
|
1518
|
+
rdev: stat.rdev,
|
|
1519
|
+
size: stat.size,
|
|
1520
|
+
atime: stat.atime,
|
|
1521
|
+
mtime: stat.mtime,
|
|
1522
|
+
ctime: stat.ctime,
|
|
1523
|
+
blksize: stat.blksize,
|
|
1524
|
+
blocks: stat.blocks
|
|
1525
|
+
};
|
|
1526
|
+
},
|
|
1527
|
+
setattr(node, attr) {
|
|
1528
|
+
var path = PROXYFS.realPath(node);
|
|
1529
|
+
try {
|
|
1530
|
+
if (attr.mode !== undefined) {
|
|
1531
|
+
node.mount.opts.fs.chmod(path, attr.mode);
|
|
1532
|
+
node.mode = attr.mode;
|
|
1533
|
+
}
|
|
1534
|
+
if (attr.timestamp !== undefined) {
|
|
1535
|
+
var date = new Date(attr.timestamp);
|
|
1536
|
+
node.mount.opts.fs.utime(path, date, date);
|
|
1537
|
+
}
|
|
1538
|
+
if (attr.size !== undefined) {
|
|
1539
|
+
node.mount.opts.fs.truncate(path, attr.size);
|
|
1540
|
+
}
|
|
1541
|
+
} catch (e) {
|
|
1542
|
+
if (!e.code) throw e;
|
|
1543
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1544
|
+
}
|
|
1545
|
+
},
|
|
1546
|
+
lookup(parent, name) {
|
|
1547
|
+
try {
|
|
1548
|
+
var path = PATH.join2(PROXYFS.realPath(parent), name);
|
|
1549
|
+
var mode = parent.mount.opts.fs.lstat(path).mode;
|
|
1550
|
+
var node = PROXYFS.createNode(parent, name, mode);
|
|
1551
|
+
return node;
|
|
1552
|
+
} catch (e) {
|
|
1553
|
+
if (!e.code) throw e;
|
|
1554
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1555
|
+
}
|
|
1556
|
+
},
|
|
1557
|
+
mknod(parent, name, mode, dev) {
|
|
1558
|
+
var node = PROXYFS.createNode(parent, name, mode, dev);
|
|
1559
|
+
var path = PROXYFS.realPath(node);
|
|
1560
|
+
try {
|
|
1561
|
+
if (FS.isDir(node.mode)) {
|
|
1562
|
+
node.mount.opts.fs.mkdir(path, node.mode);
|
|
1563
|
+
} else {
|
|
1564
|
+
node.mount.opts.fs.writeFile(path, "", {
|
|
1565
|
+
mode: node.mode
|
|
1566
|
+
});
|
|
1567
|
+
}
|
|
1568
|
+
} catch (e) {
|
|
1569
|
+
if (!e.code) throw e;
|
|
1570
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1571
|
+
}
|
|
1572
|
+
return node;
|
|
1573
|
+
},
|
|
1574
|
+
rename(oldNode, newDir, newName) {
|
|
1575
|
+
var oldPath = PROXYFS.realPath(oldNode);
|
|
1576
|
+
var newPath = PATH.join2(PROXYFS.realPath(newDir), newName);
|
|
1577
|
+
try {
|
|
1578
|
+
oldNode.mount.opts.fs.rename(oldPath, newPath);
|
|
1579
|
+
oldNode.name = newName;
|
|
1580
|
+
oldNode.parent = newDir;
|
|
1581
|
+
} catch (e) {
|
|
1582
|
+
if (!e.code) throw e;
|
|
1583
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1584
|
+
}
|
|
1585
|
+
},
|
|
1586
|
+
unlink(parent, name) {
|
|
1587
|
+
var path = PATH.join2(PROXYFS.realPath(parent), name);
|
|
1588
|
+
try {
|
|
1589
|
+
parent.mount.opts.fs.unlink(path);
|
|
1590
|
+
} catch (e) {
|
|
1591
|
+
if (!e.code) throw e;
|
|
1592
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1593
|
+
}
|
|
1594
|
+
},
|
|
1595
|
+
rmdir(parent, name) {
|
|
1596
|
+
var path = PATH.join2(PROXYFS.realPath(parent), name);
|
|
1597
|
+
try {
|
|
1598
|
+
parent.mount.opts.fs.rmdir(path);
|
|
1599
|
+
} catch (e) {
|
|
1600
|
+
if (!e.code) throw e;
|
|
1601
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1602
|
+
}
|
|
1603
|
+
},
|
|
1604
|
+
readdir(node) {
|
|
1605
|
+
var path = PROXYFS.realPath(node);
|
|
1606
|
+
try {
|
|
1607
|
+
return node.mount.opts.fs.readdir(path);
|
|
1608
|
+
} catch (e) {
|
|
1609
|
+
if (!e.code) throw e;
|
|
1610
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1611
|
+
}
|
|
1612
|
+
},
|
|
1613
|
+
symlink(parent, newName, oldPath) {
|
|
1614
|
+
var newPath = PATH.join2(PROXYFS.realPath(parent), newName);
|
|
1615
|
+
try {
|
|
1616
|
+
parent.mount.opts.fs.symlink(oldPath, newPath);
|
|
1617
|
+
} catch (e) {
|
|
1618
|
+
if (!e.code) throw e;
|
|
1619
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1620
|
+
}
|
|
1621
|
+
},
|
|
1622
|
+
readlink(node) {
|
|
1623
|
+
var path = PROXYFS.realPath(node);
|
|
1624
|
+
try {
|
|
1625
|
+
return node.mount.opts.fs.readlink(path);
|
|
1626
|
+
} catch (e) {
|
|
1627
|
+
if (!e.code) throw e;
|
|
1628
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
},
|
|
1632
|
+
stream_ops: {
|
|
1633
|
+
open(stream) {
|
|
1634
|
+
var path = PROXYFS.realPath(stream.node);
|
|
1635
|
+
try {
|
|
1636
|
+
stream.nfd = stream.node.mount.opts.fs.open(path, stream.flags);
|
|
1637
|
+
} catch (e) {
|
|
1638
|
+
if (!e.code) throw e;
|
|
1639
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1640
|
+
}
|
|
1641
|
+
},
|
|
1642
|
+
close(stream) {
|
|
1643
|
+
try {
|
|
1644
|
+
stream.node.mount.opts.fs.close(stream.nfd);
|
|
1645
|
+
} catch (e) {
|
|
1646
|
+
if (!e.code) throw e;
|
|
1647
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1648
|
+
}
|
|
1649
|
+
},
|
|
1650
|
+
read(stream, buffer, offset, length, position) {
|
|
1651
|
+
try {
|
|
1652
|
+
return stream.node.mount.opts.fs.read(stream.nfd, buffer, offset, length, position);
|
|
1653
|
+
} catch (e) {
|
|
1654
|
+
if (!e.code) throw e;
|
|
1655
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1656
|
+
}
|
|
1657
|
+
},
|
|
1658
|
+
write(stream, buffer, offset, length, position) {
|
|
1659
|
+
try {
|
|
1660
|
+
return stream.node.mount.opts.fs.write(stream.nfd, buffer, offset, length, position);
|
|
1661
|
+
} catch (e) {
|
|
1662
|
+
if (!e.code) throw e;
|
|
1663
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1664
|
+
}
|
|
1665
|
+
},
|
|
1666
|
+
llseek(stream, offset, whence) {
|
|
1667
|
+
var position = offset;
|
|
1668
|
+
if (whence === 1) {
|
|
1669
|
+
position += stream.position;
|
|
1670
|
+
} else if (whence === 2) {
|
|
1671
|
+
if (FS.isFile(stream.node.mode)) {
|
|
1672
|
+
try {
|
|
1673
|
+
var stat = stream.node.node_ops.getattr(stream.node);
|
|
1674
|
+
position += stat.size;
|
|
1675
|
+
} catch (e) {
|
|
1676
|
+
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
}
|
|
1680
|
+
if (position < 0) {
|
|
1681
|
+
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
1682
|
+
}
|
|
1683
|
+
return position;
|
|
1684
|
+
}
|
|
1685
|
+
}
|
|
1686
|
+
};
|
|
1687
|
+
|
|
1478
1688
|
var FS = {
|
|
1479
1689
|
root: null,
|
|
1480
1690
|
mounts: [],
|
|
@@ -2550,7 +2760,8 @@ var FS = {
|
|
|
2550
2760
|
FS.createSpecialDirectories();
|
|
2551
2761
|
FS.filesystems = {
|
|
2552
2762
|
"MEMFS": MEMFS,
|
|
2553
|
-
"NODEFS": NODEFS
|
|
2763
|
+
"NODEFS": NODEFS,
|
|
2764
|
+
"PROXYFS": PROXYFS
|
|
2554
2765
|
};
|
|
2555
2766
|
},
|
|
2556
2767
|
init: (input, output, error) => {
|
|
@@ -5411,6 +5622,7 @@ var allocateUTF8OnStack = stringToUTF8OnStack;
|
|
|
5411
5622
|
|
|
5412
5623
|
var PHPWASM = {
|
|
5413
5624
|
init: function() {
|
|
5625
|
+
FS.mkdir("/internal");
|
|
5414
5626
|
PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE ? require("events").EventEmitter : class EventEmitter {
|
|
5415
5627
|
constructor() {
|
|
5416
5628
|
this.listeners = {};
|
|
@@ -5515,9 +5727,9 @@ var PHPWASM = {
|
|
|
5515
5727
|
return [ promise, cancel ];
|
|
5516
5728
|
},
|
|
5517
5729
|
noop: function() {},
|
|
5518
|
-
spawnProcess: function(command, args) {
|
|
5730
|
+
spawnProcess: function(command, args, options) {
|
|
5519
5731
|
if (Module["spawnProcess"]) {
|
|
5520
|
-
const spawnedPromise = Module["spawnProcess"](command, args);
|
|
5732
|
+
const spawnedPromise = Module["spawnProcess"](command, args, options);
|
|
5521
5733
|
return Promise.resolve(spawnedPromise).then((function(spawned) {
|
|
5522
5734
|
if (!spawned || !spawned.on) {
|
|
5523
5735
|
throw new Error("spawnProcess() must return an EventEmitter but returned a different type.");
|
|
@@ -5526,7 +5738,8 @@ var PHPWASM = {
|
|
|
5526
5738
|
}));
|
|
5527
5739
|
}
|
|
5528
5740
|
if (ENVIRONMENT_IS_NODE) {
|
|
5529
|
-
return require("child_process").spawn(command,
|
|
5741
|
+
return require("child_process").spawn(command, args, {
|
|
5742
|
+
...options,
|
|
5530
5743
|
shell: true,
|
|
5531
5744
|
stdio: [ "pipe", "pipe", "pipe" ],
|
|
5532
5745
|
timeout: 100
|
|
@@ -5584,48 +5797,59 @@ function _js_create_input_device(deviceId) {
|
|
|
5584
5797
|
}
|
|
5585
5798
|
|
|
5586
5799
|
function _js_fd_read(fd, iov, iovcnt, pnum) {
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
return Asyncify.handleSleep((function(wakeUp) {
|
|
5600
|
-
var retries = 0;
|
|
5601
|
-
var interval = 50;
|
|
5602
|
-
var timeout = 5e3;
|
|
5603
|
-
var maxRetries = timeout / interval;
|
|
5604
|
-
function poll() {
|
|
5605
|
-
var returnCode;
|
|
5606
|
-
var stream;
|
|
5607
|
-
try {
|
|
5608
|
-
stream = SYSCALLS.getStreamFromFD(fd);
|
|
5609
|
-
var num = doReadv(stream, iov, iovcnt);
|
|
5610
|
-
HEAPU32[pnum >> 2] = num;
|
|
5611
|
-
returnCode = 0;
|
|
5612
|
-
} catch (e) {
|
|
5613
|
-
if (typeof FS == "undefined" || !(e.name === "ErrnoError")) {
|
|
5614
|
-
console.error(e);
|
|
5615
|
-
throw e;
|
|
5616
|
-
}
|
|
5617
|
-
returnCode = e.errno;
|
|
5618
|
-
}
|
|
5619
|
-
if (returnCode !== 6 || ++retries > maxRetries || !(fd in PHPWASM.child_proc_by_fd) || PHPWASM.child_proc_by_fd[fd]?.exited || FS.isClosed(stream)) {
|
|
5620
|
-
wakeUp(returnCode);
|
|
5621
|
-
} else {
|
|
5622
|
-
setTimeout(poll, interval);
|
|
5623
|
-
}
|
|
5800
|
+
if (Asyncify.state === Asyncify.State.Normal) {
|
|
5801
|
+
var returnCode;
|
|
5802
|
+
var stream;
|
|
5803
|
+
let num = 0;
|
|
5804
|
+
try {
|
|
5805
|
+
stream = SYSCALLS.getStreamFromFD(fd);
|
|
5806
|
+
const num = doReadv(stream, iov, iovcnt);
|
|
5807
|
+
HEAPU32[pnum >> 2] = num;
|
|
5808
|
+
return 0;
|
|
5809
|
+
} catch (e) {
|
|
5810
|
+
if (typeof FS == "undefined" || !(e.name === "ErrnoError")) {
|
|
5811
|
+
throw e;
|
|
5624
5812
|
}
|
|
5625
|
-
|
|
5626
|
-
|
|
5813
|
+
if (e.errno !== 6 || !(stream?.fd in PHPWASM.child_proc_by_fd)) {
|
|
5814
|
+
HEAPU32[pnum >> 2] = 0;
|
|
5815
|
+
return returnCode;
|
|
5816
|
+
}
|
|
5817
|
+
}
|
|
5627
5818
|
}
|
|
5628
|
-
return
|
|
5819
|
+
return Asyncify.handleSleep((function(wakeUp) {
|
|
5820
|
+
var retries = 0;
|
|
5821
|
+
var interval = 50;
|
|
5822
|
+
var timeout = 5e3;
|
|
5823
|
+
var maxRetries = timeout / interval;
|
|
5824
|
+
function poll() {
|
|
5825
|
+
var returnCode;
|
|
5826
|
+
var stream;
|
|
5827
|
+
let num;
|
|
5828
|
+
try {
|
|
5829
|
+
stream = SYSCALLS.getStreamFromFD(fd);
|
|
5830
|
+
num = doReadv(stream, iov, iovcnt);
|
|
5831
|
+
returnCode = 0;
|
|
5832
|
+
} catch (e) {
|
|
5833
|
+
if (typeof FS == "undefined" || !(e.name === "ErrnoError")) {
|
|
5834
|
+
console.error(e);
|
|
5835
|
+
throw e;
|
|
5836
|
+
}
|
|
5837
|
+
returnCode = e.errno;
|
|
5838
|
+
}
|
|
5839
|
+
const success = returnCode === 0;
|
|
5840
|
+
const failure = ++retries > maxRetries || !(fd in PHPWASM.child_proc_by_fd) || PHPWASM.child_proc_by_fd[fd]?.exited || FS.isClosed(stream);
|
|
5841
|
+
if (success) {
|
|
5842
|
+
HEAPU32[pnum >> 2] = num;
|
|
5843
|
+
wakeUp(0);
|
|
5844
|
+
} else if (failure) {
|
|
5845
|
+
HEAPU32[pnum >> 2] = 0;
|
|
5846
|
+
wakeUp(returnCode === 6 ? 0 : returnCode);
|
|
5847
|
+
} else {
|
|
5848
|
+
setTimeout(poll, interval);
|
|
5849
|
+
}
|
|
5850
|
+
}
|
|
5851
|
+
poll();
|
|
5852
|
+
}));
|
|
5629
5853
|
}
|
|
5630
5854
|
|
|
5631
5855
|
function _js_module_onMessage(data, bufPtr) {
|
|
@@ -5654,7 +5878,7 @@ function _js_module_onMessage(data, bufPtr) {
|
|
|
5654
5878
|
}
|
|
5655
5879
|
}
|
|
5656
5880
|
|
|
5657
|
-
function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descriptorsLength) {
|
|
5881
|
+
function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descriptorsLength, cwdPtr, cwdLength, envPtr, envLength) {
|
|
5658
5882
|
if (!command) {
|
|
5659
5883
|
return 1;
|
|
5660
5884
|
}
|
|
@@ -5669,6 +5893,22 @@ function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descript
|
|
|
5669
5893
|
argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
|
|
5670
5894
|
}
|
|
5671
5895
|
}
|
|
5896
|
+
const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : null;
|
|
5897
|
+
let envObject = null;
|
|
5898
|
+
if (envLength) {
|
|
5899
|
+
envObject = {};
|
|
5900
|
+
for (var i = 0; i < envLength; i++) {
|
|
5901
|
+
const envPointer = envPtr + i * 4;
|
|
5902
|
+
const envEntry = UTF8ToString(HEAPU32[envPointer >> 2]);
|
|
5903
|
+
const splitAt = envEntry.indexOf("=");
|
|
5904
|
+
if (splitAt === -1) {
|
|
5905
|
+
continue;
|
|
5906
|
+
}
|
|
5907
|
+
const key = envEntry.substring(0, splitAt);
|
|
5908
|
+
const value = envEntry.substring(splitAt + 1);
|
|
5909
|
+
envObject[key] = value;
|
|
5910
|
+
}
|
|
5911
|
+
}
|
|
5672
5912
|
var std = {};
|
|
5673
5913
|
for (var i = 0; i < descriptorsLength; i++) {
|
|
5674
5914
|
const descriptorPtr = HEAPU32[descriptorsPtr + i * 4 >> 2];
|
|
@@ -5680,7 +5920,17 @@ function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descript
|
|
|
5680
5920
|
return Asyncify.handleSleep((async wakeUp => {
|
|
5681
5921
|
let cp;
|
|
5682
5922
|
try {
|
|
5683
|
-
|
|
5923
|
+
const options = {};
|
|
5924
|
+
if (cwdstr !== null) {
|
|
5925
|
+
options.cwd = cwdstr;
|
|
5926
|
+
}
|
|
5927
|
+
if (envObject !== null) {
|
|
5928
|
+
options.env = envObject;
|
|
5929
|
+
}
|
|
5930
|
+
cp = PHPWASM.spawnProcess(cmdstr, argsArray, options);
|
|
5931
|
+
if (cp instanceof Promise) {
|
|
5932
|
+
cp = await cp;
|
|
5933
|
+
}
|
|
5684
5934
|
} catch (e) {
|
|
5685
5935
|
if (e.code === "SPAWN_UNSUPPORTED") {
|
|
5686
5936
|
wakeUp(1);
|
|
@@ -5792,7 +6042,10 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
|
|
|
5792
6042
|
return Asyncify.handleSleep((async wakeUp => {
|
|
5793
6043
|
let cp;
|
|
5794
6044
|
try {
|
|
5795
|
-
cp =
|
|
6045
|
+
cp = PHPWASM.spawnProcess(cmdstr, []);
|
|
6046
|
+
if (cp instanceof Promise) {
|
|
6047
|
+
cp = await cp;
|
|
6048
|
+
}
|
|
5796
6049
|
} catch (e) {
|
|
5797
6050
|
console.error(e);
|
|
5798
6051
|
if (e.code === "SPAWN_UNSUPPORTED") {
|
|
@@ -5819,11 +6072,12 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
|
|
|
5819
6072
|
}));
|
|
5820
6073
|
}
|
|
5821
6074
|
|
|
5822
|
-
function _js_process_status(pid) {
|
|
6075
|
+
function _js_process_status(pid, exitCodePtr) {
|
|
5823
6076
|
if (!PHPWASM.child_proc_by_pid[pid]) {
|
|
5824
6077
|
return -1;
|
|
5825
6078
|
}
|
|
5826
6079
|
if (PHPWASM.child_proc_by_pid[pid].exited) {
|
|
6080
|
+
HEAPU32[exitCodePtr >> 2] = PHPWASM.child_proc_by_pid[pid].exitCode;
|
|
5827
6081
|
return 1;
|
|
5828
6082
|
}
|
|
5829
6083
|
return 0;
|
|
@@ -5836,8 +6090,8 @@ function _js_waitpid(pid, exitCodePtr) {
|
|
|
5836
6090
|
return Asyncify.handleSleep((wakeUp => {
|
|
5837
6091
|
const poll = function() {
|
|
5838
6092
|
if (PHPWASM.child_proc_by_pid[pid]?.exited) {
|
|
5839
|
-
|
|
5840
|
-
wakeUp(
|
|
6093
|
+
HEAPU32[exitCodePtr >> 2] = PHPWASM.child_proc_by_pid[pid].exitCode;
|
|
6094
|
+
wakeUp(pid);
|
|
5841
6095
|
} else {
|
|
5842
6096
|
setTimeout(poll, 50);
|
|
5843
6097
|
}
|
|
@@ -7028,8 +7282,8 @@ var _wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = function() {
|
|
|
7028
7282
|
return (_wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = Module["asm"]["wb"]).apply(null, arguments);
|
|
7029
7283
|
};
|
|
7030
7284
|
|
|
7031
|
-
var
|
|
7032
|
-
return (
|
|
7285
|
+
var _wasm_add_ENV_entry = Module["_wasm_add_ENV_entry"] = function() {
|
|
7286
|
+
return (_wasm_add_ENV_entry = Module["_wasm_add_ENV_entry"] = Module["asm"]["xb"]).apply(null, arguments);
|
|
7033
7287
|
};
|
|
7034
7288
|
|
|
7035
7289
|
var _wasm_set_query_string = Module["_wasm_set_query_string"] = function() {
|
|
@@ -7080,40 +7334,28 @@ var _wasm_set_request_port = Module["_wasm_set_request_port"] = function() {
|
|
|
7080
7334
|
return (_wasm_set_request_port = Module["_wasm_set_request_port"] = Module["asm"]["Jb"]).apply(null, arguments);
|
|
7081
7335
|
};
|
|
7082
7336
|
|
|
7083
|
-
var _phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = function() {
|
|
7084
|
-
return (_phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = Module["asm"]["Kb"]).apply(null, arguments);
|
|
7085
|
-
};
|
|
7086
|
-
|
|
7087
|
-
var _phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = function() {
|
|
7088
|
-
return (_phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = Module["asm"]["Lb"]).apply(null, arguments);
|
|
7089
|
-
};
|
|
7090
|
-
|
|
7091
|
-
var _phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = function() {
|
|
7092
|
-
return (_phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = Module["asm"]["Mb"]).apply(null, arguments);
|
|
7093
|
-
};
|
|
7094
|
-
|
|
7095
7337
|
var _wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = function() {
|
|
7096
|
-
return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["
|
|
7338
|
+
return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["Kb"]).apply(null, arguments);
|
|
7097
7339
|
};
|
|
7098
7340
|
|
|
7099
7341
|
var _php_wasm_init = Module["_php_wasm_init"] = function() {
|
|
7100
|
-
return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["
|
|
7342
|
+
return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["Lb"]).apply(null, arguments);
|
|
7101
7343
|
};
|
|
7102
7344
|
|
|
7103
7345
|
var ___funcs_on_exit = function() {
|
|
7104
|
-
return (___funcs_on_exit = Module["asm"]["
|
|
7346
|
+
return (___funcs_on_exit = Module["asm"]["Mb"]).apply(null, arguments);
|
|
7105
7347
|
};
|
|
7106
7348
|
|
|
7107
7349
|
var _emscripten_builtin_memalign = function() {
|
|
7108
|
-
return (_emscripten_builtin_memalign = Module["asm"]["
|
|
7350
|
+
return (_emscripten_builtin_memalign = Module["asm"]["Nb"]).apply(null, arguments);
|
|
7109
7351
|
};
|
|
7110
7352
|
|
|
7111
7353
|
var __emscripten_timeout = function() {
|
|
7112
|
-
return (__emscripten_timeout = Module["asm"]["
|
|
7354
|
+
return (__emscripten_timeout = Module["asm"]["Ob"]).apply(null, arguments);
|
|
7113
7355
|
};
|
|
7114
7356
|
|
|
7115
7357
|
var _setThrew = function() {
|
|
7116
|
-
return (_setThrew = Module["asm"]["
|
|
7358
|
+
return (_setThrew = Module["asm"]["Pb"]).apply(null, arguments);
|
|
7117
7359
|
};
|
|
7118
7360
|
|
|
7119
7361
|
var _emscripten_stack_set_limits = function() {
|
|
@@ -7129,107 +7371,107 @@ var _emscripten_stack_get_end = function() {
|
|
|
7129
7371
|
};
|
|
7130
7372
|
|
|
7131
7373
|
var stackSave = function() {
|
|
7132
|
-
return (stackSave = Module["asm"]["
|
|
7374
|
+
return (stackSave = Module["asm"]["Qb"]).apply(null, arguments);
|
|
7133
7375
|
};
|
|
7134
7376
|
|
|
7135
7377
|
var stackRestore = function() {
|
|
7136
|
-
return (stackRestore = Module["asm"]["
|
|
7378
|
+
return (stackRestore = Module["asm"]["Rb"]).apply(null, arguments);
|
|
7137
7379
|
};
|
|
7138
7380
|
|
|
7139
7381
|
var stackAlloc = function() {
|
|
7140
|
-
return (stackAlloc = Module["asm"]["
|
|
7382
|
+
return (stackAlloc = Module["asm"]["Sb"]).apply(null, arguments);
|
|
7141
7383
|
};
|
|
7142
7384
|
|
|
7143
7385
|
var dynCall_iiii = Module["dynCall_iiii"] = function() {
|
|
7144
|
-
return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["
|
|
7386
|
+
return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["Tb"]).apply(null, arguments);
|
|
7145
7387
|
};
|
|
7146
7388
|
|
|
7147
7389
|
var dynCall_ii = Module["dynCall_ii"] = function() {
|
|
7148
|
-
return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["
|
|
7390
|
+
return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["Ub"]).apply(null, arguments);
|
|
7149
7391
|
};
|
|
7150
7392
|
|
|
7151
7393
|
var dynCall_vi = Module["dynCall_vi"] = function() {
|
|
7152
|
-
return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["
|
|
7394
|
+
return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["Vb"]).apply(null, arguments);
|
|
7153
7395
|
};
|
|
7154
7396
|
|
|
7155
7397
|
var dynCall_vii = Module["dynCall_vii"] = function() {
|
|
7156
|
-
return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["
|
|
7398
|
+
return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["Wb"]).apply(null, arguments);
|
|
7157
7399
|
};
|
|
7158
7400
|
|
|
7159
7401
|
var dynCall_viiiii = Module["dynCall_viiiii"] = function() {
|
|
7160
|
-
return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["
|
|
7402
|
+
return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["Xb"]).apply(null, arguments);
|
|
7161
7403
|
};
|
|
7162
7404
|
|
|
7163
7405
|
var dynCall_iii = Module["dynCall_iii"] = function() {
|
|
7164
|
-
return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["
|
|
7406
|
+
return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["Yb"]).apply(null, arguments);
|
|
7165
7407
|
};
|
|
7166
7408
|
|
|
7167
7409
|
var dynCall_iiiii = Module["dynCall_iiiii"] = function() {
|
|
7168
|
-
return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["
|
|
7410
|
+
return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["Zb"]).apply(null, arguments);
|
|
7169
7411
|
};
|
|
7170
7412
|
|
|
7171
7413
|
var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() {
|
|
7172
|
-
return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["
|
|
7414
|
+
return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["_b"]).apply(null, arguments);
|
|
7173
7415
|
};
|
|
7174
7416
|
|
|
7175
7417
|
var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() {
|
|
7176
|
-
return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["
|
|
7418
|
+
return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["$b"]).apply(null, arguments);
|
|
7177
7419
|
};
|
|
7178
7420
|
|
|
7179
7421
|
var dynCall_i = Module["dynCall_i"] = function() {
|
|
7180
|
-
return (dynCall_i = Module["dynCall_i"] = Module["asm"]["
|
|
7422
|
+
return (dynCall_i = Module["dynCall_i"] = Module["asm"]["ac"]).apply(null, arguments);
|
|
7181
7423
|
};
|
|
7182
7424
|
|
|
7183
7425
|
var dynCall_viii = Module["dynCall_viii"] = function() {
|
|
7184
|
-
return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["
|
|
7426
|
+
return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["bc"]).apply(null, arguments);
|
|
7185
7427
|
};
|
|
7186
7428
|
|
|
7187
7429
|
var dynCall_viiii = Module["dynCall_viiii"] = function() {
|
|
7188
|
-
return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["
|
|
7430
|
+
return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["cc"]).apply(null, arguments);
|
|
7189
7431
|
};
|
|
7190
7432
|
|
|
7191
7433
|
var dynCall_v = Module["dynCall_v"] = function() {
|
|
7192
|
-
return (dynCall_v = Module["dynCall_v"] = Module["asm"]["
|
|
7434
|
+
return (dynCall_v = Module["dynCall_v"] = Module["asm"]["dc"]).apply(null, arguments);
|
|
7193
7435
|
};
|
|
7194
7436
|
|
|
7195
7437
|
var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = function() {
|
|
7196
|
-
return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["
|
|
7438
|
+
return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["ec"]).apply(null, arguments);
|
|
7197
7439
|
};
|
|
7198
7440
|
|
|
7199
7441
|
var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = function() {
|
|
7200
|
-
return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["
|
|
7442
|
+
return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["fc"]).apply(null, arguments);
|
|
7201
7443
|
};
|
|
7202
7444
|
|
|
7203
7445
|
var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() {
|
|
7204
|
-
return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["
|
|
7446
|
+
return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["gc"]).apply(null, arguments);
|
|
7205
7447
|
};
|
|
7206
7448
|
|
|
7207
7449
|
var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() {
|
|
7208
|
-
return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["
|
|
7450
|
+
return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["hc"]).apply(null, arguments);
|
|
7209
7451
|
};
|
|
7210
7452
|
|
|
7211
7453
|
var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() {
|
|
7212
|
-
return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["
|
|
7454
|
+
return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["ic"]).apply(null, arguments);
|
|
7213
7455
|
};
|
|
7214
7456
|
|
|
7215
7457
|
var dynCall_viidii = Module["dynCall_viidii"] = function() {
|
|
7216
|
-
return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["
|
|
7458
|
+
return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["jc"]).apply(null, arguments);
|
|
7217
7459
|
};
|
|
7218
7460
|
|
|
7219
7461
|
var _asyncify_start_unwind = function() {
|
|
7220
|
-
return (_asyncify_start_unwind = Module["asm"]["
|
|
7462
|
+
return (_asyncify_start_unwind = Module["asm"]["kc"]).apply(null, arguments);
|
|
7221
7463
|
};
|
|
7222
7464
|
|
|
7223
7465
|
var _asyncify_stop_unwind = function() {
|
|
7224
|
-
return (_asyncify_stop_unwind = Module["asm"]["
|
|
7466
|
+
return (_asyncify_stop_unwind = Module["asm"]["lc"]).apply(null, arguments);
|
|
7225
7467
|
};
|
|
7226
7468
|
|
|
7227
7469
|
var _asyncify_start_rewind = function() {
|
|
7228
|
-
return (_asyncify_start_rewind = Module["asm"]["
|
|
7470
|
+
return (_asyncify_start_rewind = Module["asm"]["mc"]).apply(null, arguments);
|
|
7229
7471
|
};
|
|
7230
7472
|
|
|
7231
7473
|
var _asyncify_stop_rewind = function() {
|
|
7232
|
-
return (_asyncify_stop_rewind = Module["asm"]["
|
|
7474
|
+
return (_asyncify_stop_rewind = Module["asm"]["nc"]).apply(null, arguments);
|
|
7233
7475
|
};
|
|
7234
7476
|
|
|
7235
7477
|
function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
|
|
@@ -7459,6 +7701,8 @@ Module["ccall"] = ccall;
|
|
|
7459
7701
|
|
|
7460
7702
|
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
|
|
7461
7703
|
|
|
7704
|
+
Module["PROXYFS"] = PROXYFS;
|
|
7705
|
+
|
|
7462
7706
|
var calledRun;
|
|
7463
7707
|
|
|
7464
7708
|
dependenciesFulfilled = function runCaller() {
|
|
@@ -7542,6 +7786,23 @@ PHPLoader['removeRunDependency'] = function (...args) {
|
|
|
7542
7786
|
}
|
|
7543
7787
|
}
|
|
7544
7788
|
|
|
7789
|
+
/**
|
|
7790
|
+
* Other exports live in the Dockerfile in:
|
|
7791
|
+
*
|
|
7792
|
+
* * EXTRA_EXPORTED_RUNTIME_METHODS
|
|
7793
|
+
* * EXPORTED_FUNCTIONS
|
|
7794
|
+
*
|
|
7795
|
+
* These exports, however, live in here because:
|
|
7796
|
+
*
|
|
7797
|
+
* * Listing them in EXTRA_EXPORTED_RUNTIME_METHODS doesn't actually
|
|
7798
|
+
* export them. This could be a bug in Emscripten or a consequence of
|
|
7799
|
+
* that option being deprecated.
|
|
7800
|
+
* * Listing them in EXPORTED_FUNCTIONS works, but they are overridden
|
|
7801
|
+
* on every `BasePHP.run()` call. This is a problem because we want to
|
|
7802
|
+
* spy on these calls in some unit tests.
|
|
7803
|
+
*
|
|
7804
|
+
* Therefore, we export them here.
|
|
7805
|
+
*/
|
|
7545
7806
|
PHPLoader['malloc'] = _malloc;
|
|
7546
7807
|
PHPLoader['free'] = _free;
|
|
7547
7808
|
|