Symbiosis Stretch Update


How easy is this to do?

I am quite keen to move as soon as possible, but I am aware that a few sites are running php code that may not be php7 ready - and are not necessarily being maintained very quickly.

It would be great to be able to simply go through a list and choose which sites stayed on 5.6 until I have been able to check they will migrate happily.



I realise I’ve rather glibly made that statement without solid proof of the method(s) involved. I am fairly sure it is possible, but I haven’t done it as I was confident enough to jump straight to PHP version 7.x and end up with either working sites or ones which I could fix quickly enough.

Those with more server knowledge could jump in here. The basics I’ve read suggest Stretch offers much easier support for multiple PHP versions on different virtual hosts on the same server, but methods should also work on Jessie. However I haven’t done any of this personally.


Thanks for the red Herring then :wink:


Hey Bytemark we’re approaching mid-summer - so what news of SymStretch?


You could say the middle of summer is 7th August, being halfway between summer solstice and autumn equinox. :slight_smile:


Yeah, I thought summer started today :slight_smile:


Sounds like shifting goal posts again chaps?!
Perhaps Bytemark meant mid-summer in the Southern Hemisphere?


It seems that there are various definitions to when summer starts.

In all seriousness, there is lots of work afoot :slight_smile:


I presume SymStretch will ship with php 7.0. Ignore this post if not. :wink:

Active support is long-gone and security support ceases on 03 Dec 2018 - not long (php 5.6 has a longer life!).

Can we have an official guide on how to install/configure 7.1+ on stretch? This might just be pointing at one of the methods posted in this forum but I suspect it will be a bit daunting to new users. Ideally, I’d love to see site-specific symbiosis automagic:


… but I’d be amazed if that was a realistic prospect for the initial SymStretch release.

Meanwhile, thanks for the on-going development, team Bytemark! … Hmm, is that the :B Team? :slight_smile:


So I found this

Does that mean Stretch with Symbiosis is fully working (incl upgrade to) ?


Another question on the same theme:

Is there a way I can (hopefully easily) let some sites keep on using the old Jessie PHP and migrate them to PHP7 in an orderly manner later on, checking for bits that are not PHP7-friendly as I go?


That’s a bit of a tricky one, since the libapache2-mod-php7.2 package is only available in the standard Debian repository from Buster (10) onward. The approach of creating a php7.1 config file would certainly be ideal, but I can’t say for sure if that’s an exact possibility at the moment.

The interim solution would be to run php7.1-fpm or php7.2-fpm in a container (docker, systemd-nspawn, etc), or install the equivalent Apache modules using a third party repository such as the one provided by Ondřej Surý. :slight_smile:

You can certainly use/upgrade to Symbiosis Stretch in it’s current form, but it comes with the caveat that as it isn’t ‘officially’ released yet, some bugs are to be expected. If you’d rather wait for the full release (when it’s available in the Bytemark panel), we’ll certainly post to let everyone know it’s ready. :slight_smile:

Unfortunately you can only have one Apache PHP module enabled at any given time, but PHP-FPM packages provide that extra flexibility if you perhaps have a few sites which aren’t quite ready for PHP7 yet, and a few others which are.

As an example, some of our servers run a PHP 5.6 Apache module in combination with PHP7.0-FPM and PHP7.1-FPM to run a range of sites with different PHP requirements. :slight_smile:


Another false alarm - I logged in thinking the previous post was going to declare the official release of SymStretch :slight_smile:


Can you suggest somewhere that I can find more info about PHP-PFM? The last entry at is seven years ago.


This is a nice summary I think:

PHP-FPM is PHP’s FastCGI implementation; PHP-FPM runs as a standalone FastCGI server and Apache connects to the server using Apache’s module, usually mod_fcgid or mod_fastcgi; I personally think this is much better than running as mod_php, but it depends on your requirements and is also a little more complex; in this configuration, permission, processes related stuff & everything is run under PHP configuration, PHP user etc. & Apache connects to PHP as to a server; in this configuration it is also possible to have pool of PHP servers and to have PHP server on physically different machine than Apache. They say this is almost as fast as using Apache’s module and there are benefits of better control over PHP configuration.

(Taken from this serverfault answer)

There’s some further information on how to actually implement it here, using Apache’s proxy_fcgi mod.

There’s also an example use case with a systemd-nspawn container earlier in the thread [here] (Symbiosis Stretch Update) if it’s of any help :slight_smile:


Sounds interesting. Is there an argument for making it part of Symbiosis?


Unless SymBuster is launched before 03 Dec 2018 (php7.0 security support expiry) I’d say ‘yes’.


This seemed to work very well, but for reasons I can’t fathom, it stopped my Nextcloud setup dead. And it also stopped webmail.

After much fruitless faffing about, I restored the /etc/apache2/ folder from the backup and nextcloud is cloudy again.

The primary reason to use PHP7 was to keep Nextcloud happy, so this is not a great outcome!

The next day, Symbiosis Stretch arrived, so I upgraded, to find more or less the same problem. A bit more faffing about, then I discovered the cause.

Nextcloud was using Apcu memory caching, and it wasn’t installed by default on Stretch’s php7 or even installed on an upgrade from Jessie.

Installing Acpu and restarting Apache sorted the Nextcloud issues out nicely.

So far, the Stretch update seems to have gone OK, but this is only on a dev server. Nothing important on it!


Now that Symbiosis Stretch is out, it occurs to me that this workaround still has some relevance. It would allow the Stretch host to run 5.6 and the container version to run 7 (or vice versa)

Or is there an easier approach?


Glad to hear you got it sorted! Unfortunately PHP APCu does require a manual installation as it’s not included with the libapache2-mod-php5 or libapache2-mod-php7.0 packages.

That approach would absolutely still work, and would be the one I’d suggest for ease-of-use. :slight_smile: