Repository navigation
Replies: 1 comment
|
Your NTS/ZTS diagnosis looks right: extensions built against the NTS PHP installation cannot be loaded by FrankenPHP's ZTS PHP. sudo apt update
sudo apt install pie-zts
sudo pie-zts install kjdev/brotli
sudo pie-zts install kjdev/zstdIf apt cannot find |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hello.
I am currently using FP as part of a testing suite, which runs both locally in a Docker container, and on GitHub. The test suite is also run using other webservers, which led me to the decision of installing FP via apt, rather than running it as a container.
All is good so far, and I am now at the point where I need to pull in php extensions brotli and zstd into the tests.
I have been adding to my scripts usage of PIE to get those two extensions installed, and the .so that get built seem to be working fine with php-fpm, but not with FP.
I suspect that the issue might have to do with the fact that the php-cli / php-fpm which is used outside of frankenphp is an nts build, whereas the one built in FP is a zts build.
I have seen that the FP Docker image comes with its own
install-php-extensions, and I think I could use that in a multi-stage container build to build the zts version of the .so and copy them over to the container which will run FP, but that seems wasteful and brittle.Is there a known way to use PIE instead to build the extra extensions for FP? In its docs I could not find any mention of forcing
ztsbuilds...At this page:https://pkg.go.dev/github.com/dunglas/frankenphp#section-readme, I see a mention of
pie-zts, but that binary does not seem to be available for debian/ubuntu, nor when manually installing pie from https://github.com/php/pie/releases/. Also, there is this post: https://discourse.thephp.foundation/t/php-dev-pre-rfc-deprecating-nts-and-making-zts-the-default-build-mode/5754.All reactions