Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Bonjour j'ai ceux message qui s'affiche comme erreur sur les discussions et seulement sur les discussions, je commence dans le PHP et je ne trouves pas la solution..
Quelqu'un aurait-ils une idée ?
Deprecated: Function create_function() is deprecated in /var/www;monsite/public_html/include/parser.php on line 840
Merci d'avance !
Hors ligne
Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.
Bonjour,
Je rencontre le même problème, pourtant j'ai bien la dernière version d'installé.
Deprecated: Function create_function() is deprecated in /homepages/38/d719782760/htdocs/forum/include/parser.php on line 764
Deprecated: Function create_function() is deprecated in /homepages/38/d719782760/htdocs/forum/include/parser.php on line 840
Que puis-je faire svp ?
Dernière modification par LudoR (02-08-2019 10:50:00)
Hors ligne
Bonjour,
Ce n'est — pour le moment — qu'un avertissement et ça n'empêche pas le fonctionnement du forum.
Une solution d'attente est de faire précéder les appels create_function( par une arobe @ : @create_function(, de ce fait les avertissements ne sont pas affichés et comme pour le moment la fonction create_function() n'est considérée que comme obsolète, même avec PHP 7.3.8, elle existe toujours et fonctionne.
On peut aussi effectuer les modifications idoines dans le fichier include/parser.php pour toutes les lignes qui contiennent create_function en remplaçant par une fonction anonyme.
Par exemple :
Fichier parser.php
- Ligne 98
Remplacer
$temp = preg_replace_callback($re_list, create_function('$matches', 'return preparse_list_tag($matches[2], $matches[1]);'), $text);
par
$temp = preg_replace_callback($re_list, function($matches) { return preparse_list_tag($matches[2], $matches[1]); }, $text);
- Ligne 643
Remplacer
$content = preg_replace_callback($re_list, create_function('$matches', 'return preparse_list_tag($matches[2], $matches[1]);'), $content);
par
$content = preg_replace_callback($re_list, function($matches) { return handle_list_tag($matches[2], $matches[1]); }, $content);
- Ligne 737
Remplacer
$content = preg_replace_callback($re_list, create_function('$matches', 'return handle_list_tag($matches[2], $matches[1]);'), $content);
par
$content = preg_replace_callback($re_list, function($matches) { return handle_list_tag($matches[2], $matches[1]); }, $content);
- Ligne 764
Remplacer
$text = preg_replace_callback('%\[quote=("|&\#039;|"|\'|)([^\r\n]*?)\\1\]%s', create_function('$matches', 'global $lang_common; return "</p><div class=\"quotebox\"><cite>".str_replace(array(\'[\', \'\\"\'), array(\'[\', \'"\'), $matches[2])." ".$lang_common[\'wrote\']."</cite><blockquote><div><p>";'), $text);
par
$text = preg_replace_callback('%\[quote=("|&\#039;|"|\'|)([^\r\n]*?)\\1\]%s', function($matches) use ($lang_common) { return '</p><div class="quotebox"><cite>'.str_replace(array('[', '\\"'), array('[', '"'), $matches[2])." {$lang_common['wrote']}</cite><blockquote><div><p>"; }, $text);
Vous avez vu le principe, on remplace create_function() par function() qui est une fonction anonyme.
Attention : Le remplacement de la ligne 840 est beaucoup plus complexe qu'une simple ligne à remplacer, il faut aussi modifier les éléments du tableau $replace_callback[].
Ligne 770
Remplacer
$replace_callback[] = 'handle_list_tag($matches[2], $matches[1])';
par
$replace_callback[] = function($matches) { return handle_list_tag($matches[2], $matches[1]); };
Lignes 789 à 805
Remplacer
$replace_callback[] = 'handle_img_tag($matches[1].$matches[3], true)';
$replace_callback[] = 'handle_img_tag($matches[2].$matches[4], true, $matches[1])';
}
else
{
$replace_callback[] = 'handle_img_tag($matches[1].$matches[3], false)';
$replace_callback[] = 'handle_img_tag($matches[2].$matches[4], false, $matches[1])';
par
$replace_callback[] = function($matches) { return handle_img_tag($matches[1].$matches[3], true); };
$replace_callback[] = function($matches) { return handle_img_tag($matches[2].$matches[4], true, $matches[1]); };
}
else
{
$replace_callback[] = function($matches) { return handle_img_tag($matches[1].$matches[3], false); };
$replace_callback[] = function($matches) { return handle_img_tag($matches[2].$matches[4], false, $matches[1]); };
Lignes 822 à 833
Remplacer
$replace_callback[] = 'handle_url_tag($matches[1])';
$replace_callback[] = 'handle_url_tag($matches[1], $matches[2])';
$replace[] = '<a href="mailto:$1">$1</a>';
$replace[] = '<a href="mailto:$1">$2</a>';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?id=\'.$matches[1])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?id=\'.$matches[1], $matches[2])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?pid=\'.$matches[1].\'#p\'.$matches[1])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?pid=\'.$matches[1].\'#p\'.$matches[1], $matches[2])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewforum.php?id=\'.$matches[1])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewforum.php?id=\'.$matches[1], $matches[2])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/profile.php?id=\'.$matches[1])';
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/profile.php?id=\'.$matches[1], $matches[2])';
par
$replace_callback[] = function($matches) { return handle_url_tag($matches[1]); };
$replace_callback[] = function($matches) { return handle_url_tag($matches[1], $matches[2]); };
$replace[] = '<a href="mailto:$1">$1</a>';
$replace[] = '<a href="mailto:$1">$2</a>';
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?id='.$matches[1]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?id='.$matches[1], $matches[2]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?pid='.$matches[1].'#p'.$matches[1]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?pid='.$matches[1].'#p'.$matches[1], $matches[2]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewforum.php?id='.$matches[1]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewforum.php?id='.$matches[1], $matches[2]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/profile.php?id='.$matches[1]); };
$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/profile.php?id='.$matches[1], $matches[2]); };
Ligne 840
Remplacer
$text = preg_replace_callback($pattern_callback[$i], @create_function('$matches', 'return '.$replace_callback[$i].';'), $text);
par
$text = preg_replace_callback($pattern_callback[$i], $replace_callback[$i], $text);
Je vous conseille fortement d'effectuer une sauvegarde du fichier parser.php AVANT d'effectuer les modifications
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
D'accord, merci pour toutes ces précisions je vais essayer ça !
Hors ligne
Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.
D'ailleurs le message s'affiche alors que je suis bien en 1.5.11, je viens de vérifier
Hors ligne
Bonjour à tous,
J'avais, moi aussi cet avertissement... ( http://adhoc.71site.fr/forum/index.php ) Je viens d'effectuer les modifications suggérées par Otomatic...
Impeccable ! Grands mercis à lui !
Très cordialement,
Jean-Denis
Hors ligne
Bonjour.
Oui toujours d'actualité pour php 7.4.
Hors ligne
Bonjour,
Après modification du fichier /include/parser.php je n'ai plus accès au contenu des diverses discussions.
Voici le message d'erreur : Parse error: syntax error, unexpected 'if' (T_IF) in /home/domainebe/public_html/forum/include/parser.php on line 101
J'ai passé la version de php en 7.3 autrement, j'ai toujours ce message-là d'erreur :
Deprecated: Function get_magic_quotes_runtime() is deprecated in /home/domainebe/public_html/forum/include/common.php on line 79
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/domainebe/public_html/forum/include/common.php on line 83
Merci d'avance pour votre aide.
Cordialement,
Hors ligne
Re,
En version php 7.4
Voici d'autre message d'erreur :
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/domainebe/public_html/forum/include/functions.php on line 1806
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/domainebe/public_html/forum/include/functions.php on line 1830
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/domainebe/public_html/forum/include/functions.php on line 2034
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/domainebe/public_html/forum/include/utf8/utils/bad.php on line 273
Deprecated: Function get_magic_quotes_runtime() is deprecated in /home/domainebe/public_html/forum/include/common.php on line 79
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/domainebe/public_html/forum/include/common.php on line 83
Hors ligne
Deprecated in /home/domainebe/public_html/forum/include/common.php on line 79
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/domainebe/public_html/forum/include/common.php on line 83
Dans le fichier include/common.php remplacer :
if (get_magic_quotes_runtime())
set_magic_quotes_runtime(0);
par :
/* Turn off magic_quotes_runtime - PHP 7.4.0
if (get_magic_quotes_runtime())
set_magic_quotes_runtime(0);
*/
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/domainebe/public_html/forum/include/functions.php on line 1806
Il faut remplacer, par exemple :
if ($entry{0} == '.')
par
if ($entry[0] == '.')
c'est-à-dire {x} par [x] pour toutes les lignes où il y a l'avertissement.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne