[Update] PHP build for the wasm32-wasi target

php.internals

Rafael Fernández López

3 years ago
Hello all, I'm following up to give you a quick update on the PHP port to the wasm32-wasi platform. We have released the port of 8.1.11 [1] and 8.2.0 [2] PHP versions. We also had a really nice contribution from Simon Menke that we will be merging soon that enables setjmp/longjmp emulation, that will help supporting shutdown functions. We also have work in progress to support PHP fibers using this emulation. You can find each patch for the specific PHP version at our project in GitHub [3]. What would be the next steps to contribute these patches upstream? We are very interested in bringing to PHP the benefits WebAssembly provides around application security and delivery, similarly to how Python [4] and Ruby [5] are doing. Thank you, Rafael Fernández López. [1] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.1.11%2B20230111-d5e8a4a [2] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.2.0%2B20230111-d5e8a4a [3] https://github.com/vmware-labs/webassembly-language-runtimes/tree/main/php [4] https://bugs.python.org/issue46315 [5] https://www.ruby-lang.org/en/news/2022/04/03/ruby-3-2-0-preview1-released/

Michael Voříšek - ČVUT FJFI

3 years ago
Hi Rafael, you have my support to add WASM/WASI arch support natively. Our usecase is to evaluate some php code in client/browser directly and thus improve client response times. Based on the php-src contributing policy, minor version branches (PHP-8.2, ...) are bugfix branches only, thus you should target master. Your PR should add 1 workflow which will run all tests on WASM with opcache disabled and enabled. With kind regards / Mit freundlichen Grüßen / S přátelským pozdravem, Michael Voříšek On 18 Jan 2023 17:37, Rafael Fernández López wrote:
> Hello all, > > I'm following up to give you a quick update on the PHP port to the wasm32-wasi platform. > > We have released the port of 8.1.11 [1 [1]] and 8.2.0 [2 [2]] PHP versions. > > We also had a really nice contribution from Simon Menke that we will be merging soon that enables setjmp/longjmp emulation, that will help supporting shutdown functions. We also have work in progress to support PHP fibers using this emulation. > > You can find each patch for the specific PHP version at our project in GitHub [3 [3]]. > > What would be the next steps to contribute these patches upstream? We are very interested in bringing to PHP the benefits WebAssembly provides around application security and delivery, similarly to how Python [4 [4]] and Ruby [5 [5]] are doing. > > Thank you, > Rafael Fernández López. > > [1] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.1.11%2B20230111-d5e8a4a > [2] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.2.0%2B20230111-d5e8a4a > [3] https://github.com/vmware-labs/webassembly-language-runtimes/tree/main/php > [4] https://bugs.python.org/issue46315 > [5] https://www.ruby-lang.org/en/news/2022/04/03/ruby-3-2-0-preview1-released/
Links: ------ [1] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.1.11%2B20230111-d5e8a4a [2] https://github.com/vmware-labs/webassembly-language-runtimes/releases/tag/php%2F8.2.0%2B20230111-d5e8a4a [3] https://github.com/vmware-labs/webassembly-language-runtimes/tree/main/php [4] https://bugs.python.org/issue46315 [5] https://www.ruby-lang.org/en/news/2022/04/03/ruby-3-2-0-preview1-released/

Rafael Fernández López

3 years ago
Hello Michael,
> On 18/1/23, 18:51, "Michael Voříšek - ČVUT FJFI" <vorismi3@fjfi.cvut.cz <mailto:vorismi3@fjfi.cvut.cz>> wrote: > > you have my support to add WASM/WASI arch support natively.
Thank you for your support on this.
> Our usecase is to evaluate some php code in client/browser directly and thus improve client response times. > Based on the php-src contributing policy, minor version branches (PHP-8.2, ...) are bugfix branches only, thus you should target master. > Your PR should add 1 workflow which will run all tests on WASM with opcache disabled and enabled.
Understood, thank you for the information, we are going to open a PR against php-src's master branch directly to gather feedback over there. Thank you, Rafael Fernández López.