I'll try to answer as best I can.

> Is it possible to extend that system also to minor and patch versions?
Extending it to allow minor versions would require some changes in
"scripts/phpize.m4" and "scripts/phpize.in" to make that information
available to extensions, without having to parse the version string.
It would probably be better to make them maintain information about
"--program-prefix" and "--program-suffix", which would also need to be
added to the "phpincludedir" variable.
phpincludedir is maintained in four locations in "scripts/Makefile.frag",
"ext/pdo/Makefile.frag", "scripts/php-config.in" and "scripts/phpize.in".
That should really be unified to one variable some day.
Using "--program-prefix" and "--program-suffix" would then ensure no
conflict ever arises if say, you want to change something in the installed
headers and you don't feel safe about overwriting them for the major
version.

> What effect has that on docker or vagrant systems? Especially on
maintainability of up-to-date versions that will have to symlink the
current version to a new binary with every version?
I don't know what docker/vagrant container set-up you have in mind, but
generally if the system has "update-alternatives", you will be able to use
it to switch all of the symlinks from the default paths to point to the
particular build. If it doesn't, so long as you keep that Makefile intact
you can use "make install-alternatives" to overwrite all the symlinks.
There are no provided symlink alternatives for an Apache module, nor an FPM
unix socket, as there isn't a default one defined or recommended.

> what effect would that have on non-release versions?
The "install-alternatives" target would have to be added last to the
defaults to ensure backwards compatibility for unsuspecting builders.
Currently it is not, and must be specified when calling "make".

2016-09-02 15:47 GMT+03:00 Andreas Heigl <andr...@heigl.org>:

> Hi Jordan.
>
> Great Idea.
>
> There are just a few questions I have:
>
> * Is it possible to extend that system also to minor and patch versions?
> * What effect has that on docker or vagrant systems? Especially on
> maintainability of up-to-date versions that will have to symlink the
> current version to a new binary with every version?
> * what effect would that have on non-release versions?
>
> For our development it has been intresting to be able to switch between
> different minor and patch-versions of PHP so we use vagrant or docker
> for different projects depending on the PHP-Version available on the
> productive servers. That can then also include extensions and so on.
>
> Alternatively I've used the prefix to distinguish between the versions
> and then created symlinks to the binaries inside a bin-folder. When that
> was necessary at all, as f.e. php-fpm can be called right inside the
> respective prefiexed folder...
>
> And then there's also phpenv which took rbenv as a model.
>
> Cheers
>
> Andreas
>
>

Reply via email to