-
Notifications
You must be signed in to change notification settings - Fork 2k
Add --enable-soap #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Just rebased this to merge cleanly with the latest |
LGTM |
1 similar comment
LGTM |
It seems amusing to me that this and FPM are So, I'd just mirror here your comment on #34 to advocate for the devil:
Is that even possible to do with things like the SOAP support? The way I see it, if we're going to be using the hard drive space to have the modules built, why not have them enabled by default and have them be opt-out instead? Also, in the context of #8, I'm still really interested in any way we could have the modules be compiled per use-case (even if it means not deleting |
I don't think that the I'd also be interested in a way to compile modules without updating the base image, but I don't have the knowledge or experience to know whether that's possible. Also, I'll just point out that I literally ran into an app that needs |
Fair enough! No need to research, I don't doubt it. That's likely the distinction between |
For reference: http://php.net/manual/en/configure.about.php |
@tianon The big downside of this is that (when using So, in short, only enabling extensions that you will actually use can make a big difference on performance and memory footprint. So using shared extensions, which are disabled by default (but easy to enable) might be a better approach. |
That sounds fair. |
@tianon while writing that comment, I came up with an idea to add extensions "the docker way"; I haven't tested this yet, but how about creating separate images for extensions and use those as "plug-in" containers to add additional PHP extensions, something like;
Each "extension" container would expose the directory that the shared extension is located in as a volume (e.g. People would be able to add extensions, simply by attaching extra containers to their setup. Will probably work best when using in combination with fig, because you may end up needing a lot of containers 😄 |
Hah. So as a developer of a PHP app, I have to tell my users to launch extra containers with the PHP extensions my application needs in order to just get my application to actually run? That sounds pretty untenable. 😉 |
Hm, yeah, I may be taking the modularity of Docker a bit "over the top" here. Otoh; Orchestrate a stack of containers (NGINX + php-FPM + MySQL + MyApp) "works" (IMO) Perhaps putting all non-default PHP extensions in a single image ( |
It appears that you can do I'm going to submit another PR shortly to change SOAP support to a shared extension instead of building it statically. |
I was trying to use the
php
base image with some code that requiredSoapClient
. Adding--enable-soap
to the builds makes this functionality available (cf. http://php.net/manual/en/soap.installation.php).