Browse Source

Ticket #5032 : ini_set peut être désactivé sur les hébergements web.

Or avec PHP 8, utiliser `@ini_set` est insuffisant car maintenant, une
fonction désactivée génère une Fatal Error (et plus un Warning) si on tente de l’utiliser
et `@` n’attraple plus les erreurs fatales.

(cherry picked from commit 58999d2590)
utf8
Matthieu Marcillaud 12 months ago
parent
commit
e042b94f2f
  1. 4
      ecrire/base/upgrade.php
  2. 16
      ecrire/inc/texte_mini.php
  3. 4
      ecrire/inc/utils.php

4
ecrire/base/upgrade.php

@ -291,7 +291,9 @@ function maj_debut_page($installee, $meta, $table) {
return;
}
include_spip('inc/minipres');
@ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
if (function_exists('ini_set')) {
@ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
}
$timeout = _UPGRADE_TIME_OUT * 2;
$titre = _T('titre_page_upgrade');
$balise_img = charger_filtre('balise_img');

16
ecrire/inc/texte_mini.php

@ -208,13 +208,15 @@ function echappe_html(
// si le texte recu est long PCRE risque d'exploser, on
// fait donc un mic-mac pour augmenter pcre.backtrack_limit
if (($len = strlen($letexte)) > 100000) {
if (!$old = @ini_get('pcre.backtrack_limit')) {
$old = 100000;
}
if ($len > $old) {
$a = @ini_set('pcre.backtrack_limit', $len);
spip_log("ini_set pcre.backtrack_limit=$len ($old)");
if (function_exists('ini_set')) {
if (($len = strlen($letexte)) > 100000) {
if (!$old = @ini_get('pcre.backtrack_limit')) {
$old = 100000;
}
if ($len > $old) {
@ini_set('pcre.backtrack_limit', $len);
spip_log("ini_set pcre.backtrack_limit=$len ($old)");
}
}
}

4
ecrire/inc/utils.php

@ -2968,7 +2968,9 @@ function spip_initialisation_suite() {
$memory *= 1024;
}
if ($memory < _MEMORY_LIMIT_MIN * 1024 * 1024) {
@ini_set('memory_limit', $m = _MEMORY_LIMIT_MIN . 'M');
if (function_exists('ini_set')) {
@ini_set('memory_limit', $m = _MEMORY_LIMIT_MIN . 'M');
}
if (trim(ini_get('memory_limit')) != $m) {
if (!defined('_INTERDIRE_COMPACTE_HEAD_ECRIRE')) {
define('_INTERDIRE_COMPACTE_HEAD_ECRIRE', true);

Loading…
Cancel
Save