Operating system and version selection
Wizard answer
- 
Debug: $os, $type, $php (%s)", print_r($_POST, true));
$err = false;
if ($os) {
    list($dist, $ver) = explode(' ', $os, 2);    
    if ($ver == 6) {
        $days = (int)((mktime(0,0,0,6,30,2024) - time()) / (60 * 60 * 24));
		$weeks = round($days/7);
		$months = round($days/30);
		if ($months >= 6) {
	        printf("
- WARNING: %s will reach its end of life in November 2020, in $months months, upgrade is heartily recommended.
- WARNING: %s will reach its end of life in November 2020, in $weeks weeks, upgrade is strongly recommended.
- WARNING: %s will reach its end of life in November 2020, in $days days, upgrade is urgently recommended.
- %s has reached its end of life, upgrade is strongly recommended.
- WARNING: %s is a development version, not ready for production.
- %s provides PHP version %s in its official repository
- WARNING, PHP version %s have reached its eod of life, despite packages have security fix, you should consider a maintained version.
- aarch64 support is a work in progress, some packages are not yet available, see issue #214
- aarch64 for Fedora is not planed for now
- aarch64 for Enterprise Linux $ver is not planed for now
- Software Collections for aarch64 are not planed for now
- Command to install the Remi repository configuration package:");
        printf("$yum install https://rpms.remirepo.net/fedora/remi-release-%d.rpm ", $ver); printf("
- Command to enabled the CRB repository:");
				printf("subscription-manager repos --enable codeready-builder-for-rhel-%d-%s-rpms 
- Command to enabled the CRB repository:");
				printf("dnf config-manager --set-enabled %s 
- Command to install the EPEL repository configuration package:");
		    printf("$yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-%d.noarch.rpm 
- Command to install the Remi repository configuration package:");
        printf("$yum install https://rpms.remirepo.net/enterprise/remi-release-%d.rpm ", $ver); printf("
- Command to install the yum-utils package (for the yum-config-manager command):");
    	    printf("$yum install yum-utils "); } if ($ver == EL_DEV && EPEL_DEV < 2) { printf("
- As EPEL is not yet fully populated, you probably have to enable the main repository:");
		    printf("dnf config-manager --enable remi 
- On RHEL you (probably) need to enable the optional channel for some dependencies.
- 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("
- You want a single version which means replacing base packages from the distribution
- Packages have the same name than the base repository, ie php-*
- Sorry, but PHP version greater than %s are not available for %s.
- Sorry, but PHP version %s are not yet available for %s as single version, try multiple versions.
- Sorry, but PHP version older than %s are not available for %s, try multiple versions.
- Some common dependencies are available in remi-safe repository, which is enabled by default
- Some common dependencies are available in remi repository, which need to be enabled");
                printf("dnf config-manager --set-enabled remi 
- PHP version %s packages are available for %s in %s repository
- Command to enable the repository:");
            }
			/*
            if ($dist == 'Fedora') {
                printf("dnf config-manager --set-enabled %s 
- Command to disable the modular repository:");
                    printf("dnf config-manager --set-disabled remi-modular 
- Alternatively, you may prefer the modern way, by enabling the module stream for $php:");
                }
            } else
			*/
			if ($yum == 'yum') { // EL-6, 7
                printf("yum-config-manager --disable 'remi-php*'"); printf( "\n yum-config-manager --enable %s
- You can check the list of the enabled repositories:");
                printf("yum repolist 
- If the priorities plugin is enabled, ensure %s have higher priority (a lower value) than %s
- 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("
- Command to upgrade (the repository only provides PHP):");
            printf("$yum update "); printf("
- Command to install additional packages:");
            printf("$yum install php-xxx "); 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("
- Command to check the installed version and available extensions:");
            printf("php --version\n php --modules "); printf("
- You want multiple versions which means using a Software Collection
- Sorry, but PHP version greater than %s are not available for %s.
- Sorry, but PHP version older than %s are not available for %s.
- WARNING: PHP version %s is a development version, not ready for production.
- Some common dependencies are available in remi repository, which need to be enabled");
                printf("dnf config-manager --set-enabled remi 
- The %s collection is available in the $repo repository
- Command to install:");
                printf("$yum install %s ", $scl); printf("
- Command to install additional packages:");
                printf("$yum install %s-php-xxx ", $scl); } else { $repo = 'remi-safe'; //($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
- Command to install:");
                printf("$yum $opt install %s ", $scl); printf("
- Command to install additional packages:");
                printf("$yum $opt install %s-php-xxx ", $scl); } printf("
- Command to install testing packages:");
                printf("$yum --enablerepo=remi-test install %s-php-xxx ", $scl); printf("
- Command to check the installed version and available extensions:");
            printf("%s --version\n %s --modules ", $scl, $scl); printf("
- When a single version is installed, command in default path (/usr/bin/php) can be installed:");
            printf("$yum install %s-syspaths ", $scl); printf("
- 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 ";
}
?>
", $os); } else if ($weeks >= 8) { printf("
", $os); } else { printf("
", $os); } } if (($dist == 'Fedora' && $ver<=FC_EOL) || ($dist != 'Fedora' && $ver<=EL_EOL)) { printf("
", $os); } if (($dist == 'Fedora' && $ver>=FC_DEV) || ($dist != 'Fedora' && $ver>=EL_DEV)) { printf("
", $os); } } if ($php && $os) { printf("
", $os, is_array($osvers[$os]) ? implode(', ', $osvers[$os]) : $osvers[$os] ); if (version_compare($php, '7.4', '<')) { printf("
", $php); } } if ($arch=='aarch64') { printf("
", 'https://github.com/remicollet/remirepo/issues/214'); if ($os && $dist === 'Fedora') { printf("
"); $err =true; } else if ($os && $ver < 9) { printf("
"); $err =true; } else if ($type === 'scl') { printf("
"); $err =true; } } if ($php && $os && $type && !$err) { if ($dist == 'Fedora') { $mod = ($ver >= 29); $yum = 'dnf'; printf("
"); } else { $mod = ($ver >= 8); if ($ver >= 8) { $yum = 'dnf'; } else { $yum = 'yum'; } switch ($os) { case 'RHEL 8': case 'RHEL 9': printf("
", $ver, $arch); break; case 'CentOS 8': case 'CentOS 9': printf("
", $ver < 9 ? 'powertools' : 'crb'); break; } if ($ver < EL_DEV || EPEL_DEV > 0) { printf("
", $ver); } printf("
"); if ($yum === "yum") { printf("
", $ver); } printf("
"); if ($dist == 'RHEL' && $ver < 8) { printf("
"); printf("
"); } } if ($type == 'base') { printf("
"); $min = $osminbase[$os]; printf("
"); if (version_compare($php, $osmax[$os], '>')) { printf("
", $osmax[$os], $os); } else if (!$phpvers[$php]) { printf("
", $php, $os); } else if (version_compare($php, $min, '<')) { printf("
", $min, $os); } else { if ($dist == 'Fedora' && version_compare($php, $tmp=(is_array($osvers[$os]) ? $osvers[$os][0] : $osvers[$os]), '=')) { $repo = 'remi'; } else { $repo = $phpvers[$php]; } if ($dist != 'Fedora') { printf("
"); } else if ($repo != 'remi') { printf("
"); } //if ($dist == 'Fedora' || $yum == 'yum') { if ($yum == 'yum') { printf("
", $php, $os, $repo); printf("
", $repo); if ($mod) { printf("
"); printf("
", $repo); printf("
"); printf("
", $repo, ($dist == 'Fedora' ? 'fedora' : 'base and updates')); } else { // EL-8, module only printf("
"); } printf("
"); printf("
"); if (version_compare($php, '7.0', '>=')) { printf("
"); } printf("
"); } $counter++; @file_put_contents(COUNTER, "$counter\n"); } else { printf("
"); $scl='php'.str_replace('.', '', $php); if (version_compare($php, $osmax[$os], '>')) { printf("
", $osmax[$os], $os); } else if (version_compare($php, $osmin[$os], '<')) { printf("
", $osmin[$os], $os); } else { if (!$phpvers[$php]) { printf("
", $php); } if ($dist=='Fedora') { $repo = 'remi'; //($phpvers[$php] ? 'remi' : 'remi-test'); // Dev version printf("
"); printf("
", $scl); printf("
"); printf("
", $scl); printf("
"); printf("
"); if ($phpvers[$php]) { printf("
"); } printf("
"); printf("
"); } $counter++; @file_put_contents(COUNTER, "$counter\n"); } } else if (!$os) { echo "