diff --git a/ecrire/inc/install.php b/ecrire/inc/install.php index 2eb1c9800188ad80d38dc8a7d27051bd8bede797..c916fb78664ed379532a35972c4aa0e8f7b6aa8d 100644 --- a/ecrire/inc/install.php +++ b/ecrire/inc/install.php @@ -169,6 +169,14 @@ function tester_compatibilite_hebergement() { if (version_compare($p, _PHP_MIN, '<')) { $err[] = _T('install_php_version', ['version' => $p, 'minimum' => _PHP_MIN]); } + if (version_compare($p, _PHP_MAX, '>')) { + $err[] = _T('install_php_version2', ['version' => $p, 'maximum' => _PHP_MAX]); + } + + $diff = array_diff(['xml', 'zip'], get_loaded_extensions()); + if (!empty($diff)) { + $err[] = _T('install_php_extension', ['extensions' => implode(',', $diff)]); + } // Si on n'a pas la bonne version de PHP, c'est la fin if ($err) { @@ -186,12 +194,6 @@ function tester_compatibilite_hebergement() { . "| <a href='http://www.php.net/sqlite'>SQLite</a>"; } - // et surtout pas ce mbstring.overload (has been DEPRECATED as of PHP 7.2.0, and REMOVED as of PHP 8.0.0) - if ($a = @ini_get('mbstring.func_overload')) { - $err[] = _T('install_extension_mbstring') - . "mbstring.func_overload=$a - <a href='http://www.php.net/mb_string'>mb_string</a>.<br /><small>"; - } - if ($err) { echo "<div class='error'>" . '<h3>' . _T('avis_attention') . '</h3><p>' . _T('install_echec_annonce') . "</p><ul class='spip'>"; diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index e15ad7f42998704d53579abef64f039ce30e696e..b365763a6035d76fb699bf4d49a80fa7c3e650dd 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -34,6 +34,7 @@ error_reporting(E_ALL ^ E_NOTICE); /** version PHP minimum exigee (cf. inc/utils) */ define('_PHP_MIN', '7.4.0'); +define('_PHP_MAX', '8.1.99'); if (!defined('_DIR_RESTREINT_ABS')) { /** le nom du repertoire ecrire/ */ diff --git a/ecrire/lang/ecrire_fr.php b/ecrire/lang/ecrire_fr.php index 773b9ce3b589c1b1a15891133dc0a6676fad54f0..eb9cd779ab0ffb9de4669709166d2ef111218599 100644 --- a/ecrire/lang/ecrire_fr.php +++ b/ecrire/lang/ecrire_fr.php @@ -539,6 +539,8 @@ dans une couleur qui indique leur état :', 'install_pas_table' => 'Base actuellement sans tables', 'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur', 'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)', + 'install_php_version2' => 'PHP version @version@ trop récent (maximum = @maximum@)', + 'install_php_extension' => 'Les extensions suivantes sont manquantes: @extensions@', 'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.', 'install_select_type_db' => 'Indiquer le type de base de données :', 'install_select_type_mysql' => 'MySQL',