TODO list for the PhpSwitcher plugin version 3.0.0
- Setup of an Apt repository for i-MSCP using reprepro
- Setup of a cross-compiling environment using schroot for all supported variants (wheezy, jessie, precise, trusty...), for the i386 and amd64 architectures
- Automate all the work (PHP compilation, .deb generation, package upload) through a script
- Watch for new upstream releases and automatically notify us on build failure (also when the patches need to be refreshed)
The idea behind this is that administrators should be able in order:
- Install the PhpSwitcher plugin as usually by uploading the plugin archive through the panel. Or we could also provide it throuth Apt and protect access through SSH. In such case authorized customers would just have to add protected repository in their sources.list.
- Install PHP versions through APT (apt-get install imscp-psw-5.5 imscp-psw-5.6 imscp-psw-7.0 ...)
This would save time for administrators and also mitigate problems that can arise on virtual servers with low resources (e.g. build failures). By doing this, we could also provide automatic detection for available PHP versions and register them automatically in the PhpSwitcher plugin.
Docs
- https://wiki.debian.org/Settin…AptRepositoryWithReprepro
- http://www.kaizou.org/2014/02/cross-compile-chroot/
- https://www.debian.org/doc/manuals/maint-guide/start.en.html
- https://wiki.debian.org/piuparts
The story behind that idea
That idea has come after a long night shared with @Ninos, during which we tried to compile multiple PHP versions for a customer, on a capricious vm (to stay polite). While on our servers, the works was achieved in few minutes, this task on the vm has took ~20 minutes for each PHP version. Thus, the conclusion was that it is better to provide pre-compiled PHP versions through Debian packages for installation easing. Of course, the PHP compiler will still provided for aficionados
BTW: At @Ninos I hope that a day you'll stop to give me ideas again and again because my timeline becomes really a hell Else, I'll just set the Brain Failure tag to all my posts