Subversion Repositories oidplus

Rev

Rev 1042 | Go to most recent revision | Blame | Last modification | View Log | RSS feed


Notes about the required PHP Version
====================================

Currently, OIDplus supports all PHP versions between 7.0.0 and 8.2.0.

Reasons why we currently require at least PHP 7.0:
- Return values (e.g. "function foo(): array") are used in many places
  of OIDplus as well as in dependencies ("vendor" folder)
- Some composer packages require PHP >= 7.0.0
        - phpseclib/phpseclib's dependency requires PHP>=7
        - danielmarschall repositories require PHP>=7, however, they *might*
          also work with a lower version of PHP (not tested)
- The compatibility (beside the things mentioned above)
  with PHP lower than 7.0 was not tested. There might be more issues.

Currently we DO NOT require 7.1, because some (old-)stable distros are still using PHP 7.0.
Therefore, we commented out following features which would require PHP >=7.1:
- Nullable return values (e.g. "function foo(): ?array")
- void return value (e.g. "function foo(): void")
- private/protected/public consts
- In composer we cannot use the latest version of polyfill-mbstring,
  because this would require PHP 7.1
  Therefore in composer.json we write:
                "symfony/polyfill-mbstring": "<=1.19",
  the same thing with phpseclib which also now requires PHP 7.1,
  therefore we stay with 3.0 LTS:
                "phpseclib/phpseclib": "~3.0"
  Once PHP 7.1 is OK, we can go with the latest versions again.
- In dev/vendor_update.sh we patch composer packages pulled from GitHub
  to achieve PHP 7.0 compat


Note: How to check the effective PHP version in composer?
        composer show --tree