['7.2','7.3'], 'RHEL 7' => '5.4', 'RHEL 6' => '5.3', 'CentOS 8' => '7.2', 'CentOS 7' => '5.4', 'CentOS 6' => '5.3', 'Fedora 31' => '7.3', 'Fedora 30' => '7.3', 'Fedora 29' => '7.2', ]; $osmin = [ 'RHEL 8' => '7.2', 'RHEL 7' => '5.4', 'RHEL 6' => '5.4', 'CentOS 8' => '7.2', 'CentOS 7' => '5.4', 'CentOS 6' => '5.4', 'Fedora 31' => '5.6', 'Fedora 30' => '5.6', 'Fedora 29' => '5.6', ]; $osmax = [ 'RHEL 8' => '7.4', 'RHEL 7' => '7.4', 'RHEL 6' => '7.3', 'CentOS 8' => '7.4', 'CentOS 7' => '7.4', 'CentOS 6' => '7.3', 'Fedora 31' => '7.4', 'Fedora 30' => '7.4', 'Fedora 29' => '7.4', ]; $osname = [ 'RHEL 8' => 'RHEL-8', 'RHEL 7' => 'RHEL-7 (maintained until June 2024)', 'RHEL 6' => 'RHEL-6 (maintained until March 2020)', 'CentOS 8' => 'CentOS 8', 'CentOS 7' => 'CentOS 7 (maintained until June 2024)', 'CentOS 6' => 'CentOS 6 (maintained until March 2020)', 'Fedora 31' => 'Fedora 31', 'Fedora 30' => 'Fedora 30', 'Fedora 29' => 'Fedora 29 (EOL since November 2019)', ]; $grpname = [ 'RHEL' => 'Red Hat Enterprise Linux', 'CentOS' => 'CentOS', 'Fedora' => 'Fedora', ]; $types = [ 'base' => 'Default / Single version (simplest way)', 'scl' => 'Multiple versions simultaneously', ]; $phpvers = [ // use false when only SCL '7.4' => 'remi-php74', '7.3' => 'remi-php73', '7.2' => 'remi-php72', '7.1' => 'remi-php71', '7.0' => 'remi-php70', '5.6' => 'remi-php56', '5.5' => 'remi-php55', '5.4' => 'remi-php54', ]; $phpname = [ // ':devel' => 'Development version, not ready for production', ':stable' => 'Stable versions - usage recommended', '7.4' => '7.4.3 (active support until November 2021)', '7.3' => '7.3.15 (active support until December 2020)', ':secure' => 'Security only versions', '7.2' => '7.2.28 (security only support until November 2020)', ':eol' => 'Deprecated versions - usage discouraged', '7.1' => '7.1.33 (no upstream support since December 2019)', '7.0' => '7.0.33 (no upstream support since December 2018)', '5.6' => '5.6.40 (no upstream support since January 2019)', '5.5' => '5.5.38 (no upstream support since July 2016)', '5.4' => '5.4.45 (no upstream support since September 2015)', ]; $php = (isset($_POST['php']) && isset($phpvers[$_POST['php']]) ? $_POST['php'] : false); $os = (isset($_POST['os']) && isset($osvers[$_POST['os']]) ? $_POST['os'] : false); $type = (isset($_POST['type']) && isset($types[$_POST['type']]) ? $_POST['type'] : false); ?>

Remi's RPM repository - Configuration wizard

Blog | Forum | Repository | Wizard

Operating system and version selection

  • Operating system:

  • Wanted PHP version:

  • Type of installation:

Wizard answer

    Debug: $os, $type, $php (%s)

    ", print_r($_POST, true)); $err = false; if ($os) { list($dist, $ver) = explode(' ', $os, 2); if (($dist == 'Fedora' && $ver<=FC_EOL) || ($dist != 'Fedora' && $ver<=EL_EOL)) { printf("
  • %s have reached its end of life, upgrade is strongly recommended.

  • ", $os); } if (($dist == 'Fedora' && $ver>=FC_DEV) || ($dist != 'Fedora' && $ver>=EL_DEV)) { printf("
  • WARNING: %s is a development version, not ready for production.

  • ", $os); } } if ($php && $os) { printf("
  • %s provides PHP version %s in its official repository

  • ", $os, is_array($osvers[$os]) ? implode(', ', $osvers[$os]) : $osvers[$os] ); if (version_compare($php, '5.6', '<')) { printf("
  • WARNING, PHP version %s have reached its eod of life, despite packages have security fix, you should consider a maintained version.

  • ", $php); } } if ($php && $os && $type && !$err) { if ($dist == 'Fedora') { $mod = ($ver >= 29); $yum = 'dnf'; printf("
  • Command to install the Remi repository configuration package:"); printf("
        $yum install https://rpms.remirepo.net/fedora/remi-release-%d.rpm
    ", $ver); printf("

  • "); } else { $mod = ($ver >= 8); if ($ver >= 8) { $yum = 'dnf'; } else { $yum = 'yum'; } printf("
  • Command to install the EPEL repository configuration package:"); printf("
        $yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-%d.noarch.rpm

  • ", $ver); printf("
  • Command to install the Remi repository configuration package:"); printf("
        $yum install https://rpms.remirepo.net/enterprise/remi-release-%d.rpm
    ", $ver); printf("

  • "); printf("
  • Command to install the yum-utils package (for the yum-config-manager command):"); printf("
        $yum install yum-utils
    "); printf("

  • "); if ($dist == 'RHEL' && $ver < 8) { printf("
  • On RHEL you (probably) need to enable the optional channel for some dependencies.

  • "); printf("
  • Command to enable:"); if ($ver == 7) { printf("
        subscription-manager repos --enable=rhel-7-server-optional-rpms
    "); } else { printf("
        rhn-channel --add --channel=rhel-$(uname -i)-server-optional-6
    "); } printf("

  • "); } } if ($type == 'base') { printf("
  • You want a single version which means replacing base packages from the distribution

  • "); printf("
  • Packages have the same name than the base repository, ie php-*

  • "); if (version_compare($php, $osmax[$os], '>')) { printf("
  • Sorry, but PHP version greater than %s are not available for %s.

  • ", $osmax[$os], $os); } else if (!$phpvers[$php]) { printf("
  • Sorry, but PHP version %s are not yet available for %s as single version, try multiple versions.

  • ", $php, $os); } else if (version_compare($php, (is_array($osvers[$os]) ? $osvers[$os][0] : $osvers[$os]), '<')) { printf("
  • Sorry, but PHP version older than %s are not available for %s, try multiple versions.

  • ", $osvers[$os], $os); } else { if ($dist == 'Fedora' && version_compare($php, (is_array($osvers[$os]) ? $osvers[$os][0] : $osvers[$os]), '=')) { $repo = 'remi'; } else { $repo = $phpvers[$php]; } if ($dist != 'Fedora') { printf("
  • Some common dependencies are available in remi-safe repository, which is enabled by default

  • "); } else if ($repo != 'remi') { printf("
  • Some common dependencies are available in remi repository, which need to be enabled"); printf("
        dnf config-manager --set-enabled remi

  • "); } if ($dist == 'Fedora' || $yum == 'yum') { printf("
  • PHP version %s packages are available for %s in %s repository

  • ", $php, $os, $repo); printf("
  • Command to enable the repository:"); } if ($dist == 'Fedora') { printf("
        dnf config-manager --set-enabled %s

  • ", $repo); if ($mod) { printf("
  • Command to disable the modular repository:"); printf("
        dnf config-manager --set-disabled remi-modular

  • "); printf("
  • Alternatively, you may prefer the modern way, by to enabling the module stream for $php:"); } } else if ($yum == 'yum') { // EL-6, 7 printf("
        yum-config-manager --enable %s

  • ", $repo); printf("
  • If the priorities plugin is enabled, ensure %s have higher priority (a lower value) than %s

  • ", $repo, ($dist == 'Fedora' ? 'fedora' : 'base and updates')); } else { // EL-8, module only printf("
  • You have to enable the module stream for $php:"); } if ($mod) { printf("
        dnf module reset php");
                    printf(   "\n    dnf module install php:remi-%s
    ", $php); printf("

  • "); } printf("
  • Command to upgrade (the repository only provides PHP):"); printf("
        $yum update
    "); printf("

  • "); printf("
  • Command to install additional packages:"); printf("
        $yum install php-xxx
    "); printf("

  • "); if (version_compare($php, '7.0', '>=')) { printf("
  • Command to install testing packages:"); if ($dist != 'Fedora' && $mod) { printf("
        $yum --enablerepo=remi-modular-test install php-xxx
    ", $repo); } else { printf("
        $yum --enablerepo=%s-test install php-xxx
    ", $repo); } printf("

  • "); } printf("
  • Command to check the installed version and available extensions:"); printf("
        php --version\n    php --modules
    "); printf("

  • "); } $counter++; @file_put_contents(COUNTER, "$counter\n"); } else { printf("
  • You want multiple versions which means using a Software Collection

  • "); $scl='php'.str_replace('.', '', $php); if (version_compare($php, $osmax[$os], '>')) { printf("
  • Sorry, but PHP version greater than %s are not available for %s.

  • ", $osmax[$os], $os); } else if (version_compare($php, $osmin[$os], '<')) { printf("
  • Sorry, but PHP version older than %s are not available for %s.

  • ", $osmin[$os], $os); } else { if (!$phpvers[$php]) { printf("
  • WARNING: PHP version %s is a development version, not ready for production.

  • ", $php); } if ($dist=='Fedora') { $repo = ($phpvers[$php] ? 'remi' : 'remi-test'); // Dev version printf("
  • The %s collection is available in the $repo repository

  • ", $scl); printf("
  • Command to install:"); printf("
        $yum --enablerepo=$repo install %s
    ", $scl); printf("

  • "); printf("
  • Command to install additional packages:"); printf("
        $yum --enablerepo=$repo install %s-php-xxx
    ", $scl); } else { $repo = ($phpvers[$php] ? 'remi-safe' : 'remi-test'); // Dev version $opt = ($phpvers[$php] ? '' : '--enablerepo=remi-test'); // Dev version printf("
  • The %s collection is available in the $repo repository

  • ", $scl); printf("
  • Command to install:"); printf("
        $yum $opt install %s
    ", $scl); printf("

  • "); printf("
  • Command to install additional packages:"); printf("
        $yum $opt install %s-php-xxx
    ", $scl); } printf("

  • "); if ($phpvers[$php]) { printf("
  • Command to install testing packages:"); printf("
        $yum --enablerepo=remi-test install %s-php-xxx
    ", $scl); printf("

  • "); } printf("
  • Command to check the installed version and available extensions:"); printf("
        %s --version\n    %s --modules
    ", $scl, $scl); printf("

  • "); } $counter++; @file_put_contents(COUNTER, "$counter\n"); } } else if (!$os) { echo "
  • Please select the operating system you are running.

  • "; echo "
  • Tips: check the content of /etc/redhat-release.

  • "; } else if (!$php) { echo "
  • Please select PHP version you want to use.

  • "; echo "
  • Tips: read: PHP Supported Versions

  • "; } else if (!$err) { echo "
  • Please select installation type

  • "; echo "
  • Tips: read the FAQ

  • "; } ?>