Page MenuHomeDevCentral

Allow to define different version of PHP by server
Open, HighPublic

Description

We've currently three different servers where webserver-alkane is installed.

ServerInstalledWhat we would like
HervilPHP 8.3Keep last PHP version as prod pool (only one pool)
WindRiverPHP 8.3Keep last PHP version as default pool, offer same extra pools than on web-001
web-001PHP 8.2Provide several pools depending of the PHP version

On Ysul, the different pools was maintained like this:

  • one default version of php is shipped through packages, normally the last one
  • legacy versions and future versions from qa.php.net are installed in /opt

The current situation needs to be addressed by two different actions:

  1. Define default PHP version **by server and not globally*, perhaps through a grain php_default_version, that could be used in map.jinja and expressions like "php83"
  2. Provide extra PHP pools
    1. We need build instructions for PHP 8
    2. We need a pillar to choose what pool install on what server (salt-pillar will be useful here)

Alternatively, we could decide to keep a unique version, currently PHP 8.3, everywhere as the default one, and leverage the multi-pools.

web-001

I'd like to have this setup in web-001:

Pool nameVersionScope
prod-legacy-php82PHP 8.2All currently deployed sites moved here
prodPHP 8.3 Promoted sites after string/null hunting, new sites
qa-php84PHP 8.4RC2 Cutting-edge sites using new functions like request_parse_body() or grapheme_str_split() or get/set properties

Windriver

The qa-php84 pool on WindRiver is important too. The prod-legacy-php82 is not currently, but could be needed to repro a specific issue in the future. T1069 would even like to get a pool with current Git code.

Pool nameVersionScope
prodPHP 8.3 Promoted sites after string/null hunting, new sites
qa-php84PHP 8.4RC2 Cutting-edge sites using new functions like request_parse_body() or grapheme_str_split() or get/set properties
devcurrent PHP master branchTest the future, development for PHP itself