1. 4
  1. 5

    I recently came across the fact that Nextcloud doesn’t yet work with PHP 8 (released in 2020) and I thought it was interesting, given that PHP7.4 loses support soon. It’s a good example of why language evolution is hard: there have been a bunch of articles here about how modern PHP is much better than ’90s PHP but the cost of this kind of evolution is changes that break the existing ecosystem.

    1. 3

      It is not really difficult to make PHP software work with all versions from 5.4 until 8.1 with the exact same code. I am doing it for some of my projects. (Minor) release of PHP may require a few small tweaks, for example PHP 8.1 broke some of my unit tests because PDO (SQLite) will no longer stringify results:

      Integers and floats in results sets will now be returned using native PHP types. The previous behaviour can be restored by enabling the PDO::ATTR_STRINGIFY_FETCHES option.

      It requires some planning and some careful consideration when developing and adding dependencies. If you can assume at least PHP 7 a lot of stuff becomes much easier still.

      1. 1

        I use Nextcloud in a container so have largely not had to worry about php versions for a while…

        I’m excited to see what comes of owncloud’s “infinite scale” rewrite into go