summaryrefslogtreecommitdiffstats
path: root/wizard/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'wizard/index.php')
-rw-r--r--wizard/index.php334
1 files changed, 232 insertions, 102 deletions
diff --git a/wizard/index.php b/wizard/index.php
index 04252234..7cc0d0c9 100644
--- a/wizard/index.php
+++ b/wizard/index.php
@@ -8,68 +8,105 @@
<link rel="shortcut icon" href="/favicon.ico" />
</head>
<?php
-define('FC_EOL', 29);
-define('FC_DEV', 32);
-define('EL_EOL', 5);
-define('EL_DEV', 9);
+define('FC_EOL', 37);
+define('FC_DEV', 40);
+define('EL_EOL', 6);
+define('EL_DEV', 10);
+define('PHP_SEC', '8.1');
+define('EPEL_DEV', 2); // 0 missing, 1 partially populated, 2 mostly full
define('COUNTER', __DIR__ . "/counter.txt");
$osvers = [
- 'RHEL 8' => ['7.2','7.3'],
+ 'RHEL 9' => ['8.0', '8.1'],
+ 'RHEL 8' => ['7.4', '8.0'],
'RHEL 7' => '5.4',
- 'RHEL 6' => '5.3',
- 'CentOS 8' => '7.2',
+ 'CentOS 9' => ['8.0', '8.1', '8.2'],
+ 'CentOS 8' => ['7.4', '8.0', '8.2'],
'CentOS 7' => '5.4',
- 'CentOS 6' => '5.3',
- 'Fedora 32' => '7.4',
- 'Fedora 31' => '7.3',
- 'Fedora 30' => '7.3',
+ 'EL 9' => ['8.0', '8.1'],
+ 'EL 8' => ['7.4', '8.0'],
+ 'EL 7' => '5.4',
+ 'Fedora 40' => '8.3',
+ 'Fedora 39' => '8.2',
+ 'Fedora 38' => '8.2',
];
$osmin = [
+ 'RHEL 9' => '7.4',
+ 'RHEL 8' => '5.6',
+ 'RHEL 7' => '5.4',
+ 'CentOS 9' => '7.4',
+ 'CentOS 8' => '5.6',
+ 'CentOS 7' => '5.4',
+ 'EL 9' => '7.4',
+ 'EL 8' => '5.6',
+ 'EL 7' => '5.4',
+ 'Fedora 40' => '7.4',
+ 'Fedora 39' => '7.4',
+ 'Fedora 38' => '7.4',
+];
+$osminbase = [
+ 'RHEL 9' => '7.4',
'RHEL 8' => '7.2',
'RHEL 7' => '5.4',
- 'RHEL 6' => '5.4',
+ 'CentOS 9' => '7.4',
'CentOS 8' => '7.2',
'CentOS 7' => '5.4',
- 'CentOS 6' => '5.4',
- 'Fedora 32' => '5.6',
- 'Fedora 31' => '5.6',
- 'Fedora 30' => '5.6',
+ 'EL 9' => '7.4',
+ 'EL 8' => '7.2',
+ 'EL 7' => '5.4',
+ 'Fedora 40' => '7.4',
+ 'Fedora 39' => '7.4',
+ 'Fedora 38' => '7.4',
];
$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 32' => '7.4',
- 'Fedora 31' => '7.4',
- 'Fedora 30' => '7.4',
+ 'RHEL 9' => '8.3',
+ 'RHEL 8' => '8.3',
+ 'RHEL 7' => '8.3',
+ 'CentOS 9' => '8.3',
+ 'CentOS 8' => '8.3',
+ 'CentOS 7' => '8.3',
+ 'EL 9' => '8.3',
+ 'EL 8' => '8.3',
+ 'EL 7' => '8.3',
+ 'Fedora 40' => '8.3',
+ 'Fedora 39' => '8.3',
+ 'Fedora 38' => '8.3',
];
$osname = [
- 'RHEL 8' => 'RHEL-8',
- 'RHEL 7' => 'RHEL-7 (maintained until June 2024)',
- 'RHEL 6' => 'RHEL-6 (maintained until November 2020)',
- 'CentOS 8' => 'CentOS 8',
- 'CentOS 7' => 'CentOS 7 (maintained until June 2024)',
- 'CentOS 6' => 'CentOS 6 (maintained until November 2020)',
- 'Fedora 32' => 'Fedora 32 (development version)',
- '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',
+ ':rhel' => 'Red Hat Enterprise Linux',
+ 'RHEL 9' => 'RHEL 9.3',
+ 'RHEL 8' => 'RHEL 8.9',
+ 'RHEL 7' => 'RHEL 7.9 (maintained until June 2024)',
+ ':centos' => 'CentOS Stream, CentOS Linux',
+ 'CentOS 9' => 'CentOS Stream 9', // (maintained until Mai 2027)
+ 'CentOS 8' => 'CentOS Stream 8 (maintained until June 2024)',
+ 'CentOS 7' => 'CentOS 7 (maintained until June 2024)',
+ ':clone' => 'Alma Linux, Rocky Linux and other clones',
+ 'EL 9' => 'EL 9',
+ 'EL 8' => 'EL 8',
+ 'EL 7' => 'EL 7 (maintained until June 2024)',
+ ':fedora' => 'Fedora Linux',
+ 'Fedora 40' => 'Fedora 40 (Development version)',
+ 'Fedora 39' => 'Fedora 39',
+ 'Fedora 38' => 'Fedora 38',
+// 'Fedora 37' => 'Fedora 37 (End of Life since Dec 7th 2024)',
];
$types = [
'base' => 'Default / Single version (simplest way)',
'scl' => 'Multiple versions simultaneously',
];
+$arches = [
+ 'x86_64' => 'x86_64',
+ 'aarch64' => 'aarch64',
+ 'ppc64le' => 'ppc64le',
+ 's390x' => 's390x',
+];
$phpvers = [
// use false when only SCL
+ '8.3' => 'remi-php83',
+ '8.2' => 'remi-php82',
+ '8.1' => 'remi-php81',
+ '8.0' => 'remi-php80',
'7.4' => 'remi-php74',
'7.3' => 'remi-php73',
'7.2' => 'remi-php72',
@@ -82,11 +119,15 @@ $phpvers = [
$phpname = [
// ':devel' => 'Development version, not ready for production',
':stable' => 'Stable versions - usage recommended',
- '7.4' => '7.4.4 (active support until November 2021)',
- '7.3' => '7.3.16 (active support until December 2020)',
+ '8.3' => '8.3.3 (active support until November 2025)',
+ '8.2' => '8.2.16 (active support until December 2024)',
':secure' => 'Security only versions',
- '7.2' => '7.2.29 (security only support until November 2020)',
+ '8.1' => '8.1.27 (security only support until November 2024)',
':eol' => 'Deprecated versions - usage discouraged',
+ '8.0' => '8.0.30 (no upstream support since November 2023)',
+ '7.4' => '7.4.33 (no upstream support since November 2022)',
+ '7.3' => '7.3.33 (no upstream support since December 2021)',
+ '7.2' => '7.2.34 (no upstream support since November 2020)',
'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)',
@@ -96,6 +137,7 @@ $phpname = [
$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);
+$arch = (isset($_POST['arch']) && isset($arches[$_POST['arch']]) ? $_POST['arch'] : 'x86_64');
?>
<body>
@@ -112,6 +154,12 @@ $type = (isset($_POST['type']) && isset($types[$_POST['type']]) ? $_POST['type'
<div id="wrapper">
<div id="main">
<div id="content">
+<?php
+ if (count($_POST) == 0) {
+ echo '<h2>Please STOP WAR NOW!</h2><p><a href="https://blog.remirepo.net/post/2022/03/03/Please-STOP-war">';
+ echo '<img alt="" class="media" src="https://blog.remirepo.net/public/icons/dove.svg" width="256" /></a></p>';
+ }
+?>
<h2>Operating system and version selection</h2>
<form method='post'>
<ul class="pkglist">
@@ -120,13 +168,14 @@ $type = (isset($_POST['type']) && isset($types[$_POST['type']]) ? $_POST['type'
<option value=''>--</option>
<?php
$prev = false;
- foreach($osvers as $osver => $phpver) {
- list($dist, $ver) = explode(' ', $osver, 2);
- if ($dist != $prev) {
+ foreach($osname as $osver => $name) {
+ if ($osver[0] == ':') {
if ($prev) echo "</optgroup>";
- printf("<optgroup label='%s'>", $grpname[$prev=$dist]);
- }
- printf("<option value='%s' %s>&nbsp;&nbsp;&nbsp;&nbsp;%s</option>", $osver, ($osver===$os ? 'selected' : ''), $osname[$osver]);
+ printf("<optgroup label='%s'>", $name);
+ $prev = true;
+ } else {
+ printf("<option value='%s' %s>&nbsp;&nbsp;&nbsp;&nbsp;%s</option>", $osver, ($osver===$os ? 'selected' : ''), $name);
+ }
}
?>
</optgroup></select>
@@ -153,6 +202,13 @@ $type = (isset($_POST['type']) && isset($types[$_POST['type']]) ? $_POST['type'
?>
</select>
</p></li>
+ <li><p>Architecture:
+ <select name='arch' onChange='submit()'>
+<?php
+ foreach($arches as $archref => $name) printf("<option value='%s' %s>%s</option>", $archref, ($archref===$arch ? 'selected' : ''), $name);
+?>
+ </select>
+ </p></li>
</ul>
</form>
<h2>Wizard answer</h2>
@@ -165,10 +221,26 @@ $err = false;
if ($os) {
list($dist, $ver) = explode(' ', $os, 2);
if (($dist == 'Fedora' && $ver<=FC_EOL) || ($dist != 'Fedora' && $ver<=EL_EOL)) {
- printf("<li><b>%s</b> have reached its <b>end of life</b>, upgrade is strongly recommended.</li><br />", $os);
- }
- if (($dist == 'Fedora' && $ver>=FC_DEV) || ($dist != 'Fedora' && $ver>=EL_DEV)) {
- printf("<li><b>WARNING: %s</b> is a <b>development</b> version, not ready for production.</li><br />", $os);
+ printf("<li><img src='alarm.png'> <b>%s</b> has reached its <b>end of life</b>, upgrade is strongly recommended.</li><br />", $os);
+
+ } else if (($dist == 'Fedora' && $ver>=FC_DEV) || ($dist != 'Fedora' && $ver>=EL_DEV)) {
+ printf("<li><img src='notice.png'> <b>WARNING: %s</b> is a <b>development</b> version, not ready for production.</li><br />", $os);
+
+ } else if ($ver == 7 || $ver == 38 || ($dist=="CentOS" && $ver == 8)) {
+ if ($ver == 38) $days = mktime(0,0,0,5,14,2024);
+ else if ($ver == 9) $days = mktime(0,0,0,5,31,2027);
+ else /* 7 and 9 */ $days = mktime(0,0,0,6,30,2024);
+ $eol = date("F Y", $days);
+ $days = (int)(($days - time()) / (60 * 60 * 24));
+ $weeks = round($days/7);
+ $months = round($days/30);
+ if ($months >= 6) {
+ printf("<li><img src='notice.png'> <b>WARNING: %s</b> will reach its <b>end of life</b> in $eol, in <b>$months months</b>, upgrade is heartily recommended.</li><br />", $os);
+ } else if ($weeks >= 8) {
+ printf("<li><img src='alarm.png'> <b>WARNING: %s</b> will reach its <b>end of life</b> in $eol, in <b>$weeks weeks</b>, upgrade is strongly recommended.</li><br />", $os);
+ } else {
+ printf("<li><img src='alarm.png'> <b>WARNING: %s</b> will reach its <b>end of life</b> in $eol, in <b>$days days</b>, upgrade is urgently recommended.</li><br />", $os);
+ }
}
}
if ($php && $os) {
@@ -176,10 +248,31 @@ if ($php && $os) {
$os,
is_array($osvers[$os]) ? implode(', ', $osvers[$os]) : $osvers[$os]
);
- if (version_compare($php, '5.6', '<')) {
- printf("<li><b>WARNING</b>, PHP version <b>%s</b> have reached its eod of life, despite packages have security fix, you should consider a maintained version.</li><br />", $php);
+ if (version_compare($php, PHP_SEC, '<')) {
+ printf("<li><img src='notice.png'> <b>WARNING</b>, PHP version <b>%s</b> have reached its end of life, despite packages have security fixes, you should consider a maintained version.</li><br />", $php);
}
+ // else printf("<li>PHP %s is a maintained version (> %s).</li><br />", $php, PHP_SEC);
}
+
+if ($arch == 'ppc64le' || $arch == 's390x') {
+ printf("<li><b>$arch</b> is not planed for now</li><br />");
+ $err =true;
+
+} else if ($arch == 'aarch64') {
+ if ($os && $dist === 'Fedora') {
+ if ($ver < 39) {
+ printf("<li><b>aarch64</b> for Fedora $ver is not planed for now</li><br />");
+ $err =true;
+ }
+ } else if ($os && $ver < 8) {
+ printf("<li><b>aarch64</b> for Enterprise Linux $ver is not planed for now</li><br />");
+ $err =true;
+ } else if ($os && $ver == 8) {
+ // no older SCLs
+ $osmin['RHEL 8'] = $osmin['CentOS 8'] = '7.2';
+ }
+}
+
if ($php && $os && $type && !$err) {
if ($dist == 'Fedora') {
$mod = ($ver >= 29);
@@ -195,14 +288,36 @@ if ($php && $os && $type && !$err) {
} else {
$yum = 'yum';
}
- printf("<li>Command to install the EPEL repository configuration package:");
- printf("<pre> $yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-%d.noarch.rpm</pre></li><br />", $ver);
- printf("<li>Command to install the Remi repository configuration package:");
+ switch ($os) {
+ case 'RHEL 8':
+ case 'RHEL 9':
+ printf("<li>Command to enabled the <b>CRB</b> repository:");
+ printf("<pre> subscription-manager repos --enable codeready-builder-for-rhel-%d-%s-rpms</pre></li><br />", $ver, $arch);
+ break;
+ case 'CentOS 8':
+ case 'CentOS 9':
+ printf("<li>Command to enabled the <b>CRB</b> repository:");
+ printf("<pre> dnf config-manager --set-enabled %s</pre></li><br />", $ver < 9 ? 'powertools' : 'crb');
+ break;
+ }
+ if ($ver < EL_DEV || EPEL_DEV > 0) {
+ printf("<li>Command to install the <b>EPEL</b> repository configuration package:");
+ printf("<pre> $yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-%d.noarch.rpm</pre></li><br />", $ver);
+ }
+ printf("<li>Command to install the <b>Remi</b> repository configuration package:");
printf("<pre> $yum install https://rpms.remirepo.net/enterprise/remi-release-%d.rpm</pre>", $ver);
printf("</li><br />");
- printf("<li>Command to install the yum-utils package (for the yum-config-manager command):");
- printf("<pre> $yum install yum-utils</pre>");
+ if ($yum === "yum") {
+ printf("<li>Command to install the yum-utils package (for the yum-config-manager command):");
+ printf("<pre> $yum install yum-utils</pre>");
+ }
+
+ if ($ver == EL_DEV && EPEL_DEV < 2) {
+ printf("<li>As EPEL is not yet fully populated, you probably have to enable the main repository:");
+ printf("<pre> dnf config-manager --enable remi</pre></li><br />", $ver);
+ }
+
printf("</li><br />");
if ($dist == 'RHEL' && $ver < 8) {
printf("<li>On <b>RHEL</b> you (probably) need to enable the <b>optional channel</b> for some dependencies.</li><br />");
@@ -218,6 +333,8 @@ if ($php && $os && $type && !$err) {
if ($type == 'base') {
printf("<li>You want a <b>single version </b> which means replacing base packages from the distribution</li><br />");
+ $min = $osminbase[$os];
+
printf("<li>Packages have the <b>same name</b> than the base repository, ie php-*</li><br />");
if (version_compare($php, $osmax[$os], '>')) {
@@ -226,8 +343,8 @@ if ($php && $os && $type && !$err) {
} else if (!$phpvers[$php]) {
printf("<li>Sorry, but PHP version <b>%s</b> are not yet available for <b>%s</b> as single version, try multiple versions.</li><br />", $php, $os);
- } else if (version_compare($php, $tmp=(is_array($osvers[$os]) ? $osvers[$os][0] : $osvers[$os]), '<')) {
- printf("<li>Sorry, but PHP version older than <b>%s</b> are not available for <b>%s</b>, try multiple versions.</li><br />", $tmp, $os);
+ } else if (version_compare($php, $min, '<')) {
+ printf("<li>Sorry, but PHP version older than <b>%s</b> are not available for <b>%s</b>, try multiple versions.</li><br />", $min, $os);
} else {
if ($dist == 'Fedora' && version_compare($php, $tmp=(is_array($osvers[$os]) ? $osvers[$os][0] : $osvers[$os]), '=')) {
@@ -242,35 +359,36 @@ if ($php && $os && $type && !$err) {
printf("<pre> dnf config-manager --set-enabled remi</pre></li><br />");
}
- if ($dist == 'Fedora' || $yum == 'yum') {
+ if ($mod) {
+ printf("<li>PHP version <b>%s</b> packages are available for <b>%s</b> in <b>remi-modular</b> repository</li><br />", $php, $os);
+
+ printf("<li>You have to enable the module stream for $php, and update the old version if installed:");
+ printf("<pre> dnf module switch-to php:remi-%s</pre>", $php);
+ printf("</li><br />");
+
+ printf("<li>If no version is installed, command to <b>install</b> the php stream default profile:");
+ printf("<pre> dnf module install php:remi-%s</pre>", $php);
+ printf("</li><br />");
+ } else {
printf("<li>PHP version <b>%s</b> packages are available for <b>%s</b> in <b>%s</b> repository</li><br />", $php, $os, $repo);
printf("<li>Command to enable the repository:");
- }
- if ($dist == 'Fedora') {
- printf("<pre> dnf config-manager --set-enabled %s</pre></li><br />", $repo);
- if ($mod) {
- printf("<li>Command to disable the modular repository:");
- printf("<pre> dnf config-manager --set-disabled remi-modular</pre></li><br />");
- printf("<li>Alternatively, you may prefer the modern way, by to enabling the module stream for $php:");
- }
- } else if ($yum == 'yum') { // EL-6, 7
- printf("<pre> yum-config-manager --enable %s</pre></li><br />", $repo);
- printf("<li>If the <b>priorities</b> plugin is enabled, ensure %s have higher priority (a lower value) than %s</li><br />", $repo, ($dist == 'Fedora' ? 'fedora' : 'base and updates'));
- } else { // EL-8, module only
- printf("<li>You have to enable the module stream for $php:");
- }
- if ($mod) {
- printf("<pre> dnf module reset php");
- printf( "\n dnf module install php:remi-%s</pre>", $php);
- printf("</li><br />");
- }
+ printf("<pre> yum-config-manager --disable 'remi-php*'");
+ printf( "\n yum-config-manager --enable %s</pre></li><br />", $repo);
- printf("<li>Command to upgrade (the repository only provides PHP):");
- printf("<pre> $yum update</pre>");
- printf("</li><br />");
+ printf("<li>You can check the list of the enabled repositories:");
+ printf("<pre> yum repolist</pre></li><br />");
+ printf("<li>If the <b>priorities</b> plugin is enabled, ensure %s have higher priority (a lower value) than %s</li><br />", $repo, ($dist == 'Fedora' ? 'fedora' : 'base and updates'));
+
+ printf("<li>If an old version is installed, command to <b>upgrade</b>:");
+ printf("<pre> $yum update</pre>");
+ printf("</li><br />");
- printf("<li>Command to install <b>additional</b> packages:");
+ printf("<li>If no version is installed, command to <b>install</b> the php command:");
+ printf("<pre> $yum install php-cli</pre>");
+ printf("</li><br />");
+ }
+ printf("<li>Command to install <b>additional</b> packages (xxx for SAPI or extension name):");
printf("<pre> $yum install php-xxx</pre>");
printf("</li><br />");
@@ -294,27 +412,32 @@ if ($php && $os && $type && !$err) {
} else {
printf("<li>You want <b>multiple versions </b> which means using a <a href='https://www.softwarecollections.org/en/'>Software Collection</a></li><br />");
$scl='php'.str_replace('.', '', $php);
+
+ echo "<li><p><img src='info.png'> <b>Tips</b>: For Software Collection usage read: ";
+ echo "<a href='https://blog.remirepo.net/post/2022/02/17/My-PHP-Workstation'>My PHP Workstation</a></p><br /></li>";
if (version_compare($php, $osmax[$os], '>')) {
- printf("<li>Sorry, but PHP version greater than <b>%s</b> are not available for <b>%s</b>.</li><br />", $osmax[$os], $os);
+ printf("<li>Sorry, but PHP version greater than <b>%s</b> are not available for <b>%s</b> (%s).</li><br />", $osmax[$os], $os, $arch);
} else if (version_compare($php, $osmin[$os], '<')) {
- printf("<li>Sorry, but PHP version older than <b>%s</b> are not available for <b>%s</b>.</li><br />", $osmin[$os], $os);
+ printf("<li>Sorry, but PHP version older than <b>%s</b> are not available for <b>%s</b> (%s).</li><br />", $osmin[$os], $os, $arch);
} else {
if (!$phpvers[$php]) {
- printf("<li><b>WARNING</b>: PHP version <b>%s</b> is a <b>development</b> version, not ready for production.</li><br />", $php);
+ printf("<li><img src='alarm.png'> <b>WARNING</b>: PHP version <b>%s</b> is a <b>development</b> version, not ready for production.</li><br />", $php);
}
if ($dist=='Fedora') {
- $repo = ($phpvers[$php] ? 'remi' : 'remi-test'); // Dev version
+ $repo = 'remi'; //($phpvers[$php] ? 'remi' : 'remi-test'); // Dev version
+ printf("<li>Some common <b>dependencies</b> are available in <b>remi</b> repository, which need to be enabled");
+ printf("<pre> dnf config-manager --set-enabled remi</pre></li><br />");
printf("<li>The <b>%s</b> collection is available in the <b>$repo</b> repository</li><br />", $scl);
printf("<li>Command to install:");
- printf("<pre> $yum --enablerepo=$repo install %s</pre>", $scl);
+ printf("<pre> $yum install %s</pre>", $scl);
printf("</li><br />");
printf("<li>Command to install additional packages:");
- printf("<pre> $yum --enablerepo=$repo install %s-php-xxx</pre>", $scl);
+ printf("<pre> $yum install %s-php-xxx</pre>", $scl);
} else {
- $repo = ($phpvers[$php] ? 'remi-safe' : 'remi-test'); // Dev version
- $opt = ($phpvers[$php] ? '' : '--enablerepo=remi-test'); // Dev version
+ $repo = 'remi-safe'; //($phpvers[$php] ? 'remi-safe' : 'remi-test'); // Dev version
+ $opt = ""; //($phpvers[$php] ? '' : '--enablerepo=remi-test'); // Dev version
printf("<li>The <b>%s</b> collection is available in the <b>$repo</b> repository</li><br />", $scl);
printf("<li>Command to install:");
@@ -333,21 +456,25 @@ if ($php && $os && $type && !$err) {
printf("<li>Command to check the installed version and available extensions:");
printf("<pre> %s --version\n %s --modules</pre>", $scl, $scl);
printf("</li><br />");
+
+ printf("<li>When a single version is installed, command in default path (/usr/bin/php) can be installed:");
+ printf("<pre> $yum install %s-syspaths</pre>", $scl);
+ printf("</li><br />");
}
$counter++;
@file_put_contents(COUNTER, "$counter\n");
}
} else if (!$os) {
- echo "<li><p>Please select the operating system you are running.</p></li>";
- echo "<li><p><b>Tips</b>: check the content of /etc/redhat-release.</p></li>";
+ echo "<li><p><img src='question.png'> Please select the operating system you are running.</p></li>";
+ echo "<li><p><img src='info.png'> <b>Tips</b>: check the content of /etc/redhat-release.</p></li>";
} else if (!$php) {
- echo "<li><p>Please select PHP version you want to use.</p></li>";
- echo "<li><p><b>Tips</b>: read: <a href='https://www.php.net/supported-versions.php'>PHP Supported Versions</a></li>";
+ echo "<li><p><img src='question.png'> Please select PHP version you want to use.</p></li>";
+ echo "<li><p><img src='info.png'> <b>Tips</b>: read: <a href='https://www.php.net/supported-versions.php'>PHP Supported Versions</a></li>";
} else if (!$err) {
- echo "<li><p>Please select installation type</p></li>";
- echo "<li><p><b>Tips</b>: read the <a href='https://blog.remirepo.net/pages/English-FAQ#scl'>FAQ</a></p></li>";
+ echo "<li><p><img src='question.png'> Please select installation type</p></li>";
+ echo "<li><p><img src='info.png'> <b>Tips</b>: read the <a href='https://blog.remirepo.net/pages/English-FAQ#scl'>FAQ</a></p></li>";
}
?>
</ul>
@@ -360,10 +487,13 @@ if ($php && $os && $type && !$err) {
<li><a href="https://blog.remirepo.net/pages/English-FAQ" class="nlink" title="F.A.Q.">F.A.Q.</a></li>
<li><a href="https://forum.remirepo.net/" class="nlink" title="Forum">Forum</a></li>
<li><a href="https://github.com/remicollet/remirepo/issues" class="nlink" title="Bug tracker">Bug tracker</a></li>
- <li><a href="https://blog.remirepo.net/post/2012/09/03/remirepo-IRC-channel-on-freenode-network" class="nlink" title="IRC channel">IRC channel</a></li>
+ <li><a href="https://blog.remirepo.net/post/2021/05/20/remirepo-IRC-channel-on-Libera-network" class="nlink" title="IRC channel">IRC channel</a></li>
<li><a href='https://twitter.com/RemiRepository'>Repository twitter account</a></li>
+ <li><a href='https://discord.gg/qwC6kM2dcE'>Discord server</a></li>
<li><?php
- printf("<b>%d answers</b> given", $counter);
+ $day = (time() - mktime(0,0,0,12,8,2015)) / 86400;
+ $rate = $counter / $day;
+ printf("<b>%d answers</b> given since Dec 2015<br><b>%d answers</b> per day", $counter, $rate);
?></li>
</ul><br /><br /><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><div>