web-dev-qa-db-fra.com

Comment remplacer les obsolètes set_magic_quotes_runtime en php?

Je reçois ce message lorsque j'essaie de lancer un script php que je dois utiliser mais que je n'ai pas écrit.

Deprecated: Function set_magic_quotes_runtime() is deprecated in /opt/lampp/htdocs/webEchange/SiteWeb_V5/inc/fpdf.php on line 1810

Voici la ligne 1810:

set_magic_quotes_runtime(0);

S'il s'agit d'une fonction obsolète, que puis-je la remplacer?

Merci beaucoup!

56
Shawn

Vérifiez si c'est le premier. Cela devrait éliminer l’avertissement et garantir que, si votre code est exécuté sur des versions plus anciennes de PHP, les guillemets magiques sont bien désactivés. 

Ne supprimez pas simplement cette ligne de code comme suggéré par d'autres, à moins que vous ne puissiez être sûr à 100% que le code ne sera jamais exécuté sur quoi que ce soit avant PHP 5.3.

<?php
// Check if magic_quotes_runtime is active
if(get_magic_quotes_runtime())
{
    // Deactivate
    set_magic_quotes_runtime(false);
}
?>

get_magic_quotes_runtime n'est PAS obsolète en PHP 5.3.
Source: http://us2.php.net/get_magic_quotes_runtime/

67
philfreo

J'utilisais FPDF v. 1.53 et je ne voulais pas mettre à niveau en raison d'effets secondaires possibles. J'ai utilisé le code suivant selon Yacoby:

Ligne 1164:

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    $mqr=get_magic_quotes_runtime();
    set_magic_quotes_runtime(0);
}

Ligne 1203:

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    set_magic_quotes_runtime($mqr);
}
16
testing

Comme Magic Quotes est maintenant désactivé par défaut (et dont la suppression est planifiée), vous pouvez simplement supprimer cet appel de fonction de votre code.

6
Doug T.
ini_set('magic_quotes_runtime', 0)

Je suppose.

5
user187291

Mise à niveau vers la version 1.6 de FPDF.

4
Martin

Vous n'avez pas besoin de le remplacer par quelque chose. Le paramètre magic_quotes_runtime est supprimé dans PHP6 , donc l'appel de la fonction n'est pas nécessaire. Si vous souhaitez conserver la compatibilité avec les versions antérieures, il peut être judicieux de l'envelopper dans une instruction if vérifiant phpversion using version_compare

4
Yacoby

Gust ajouter le préfixe "@" devant la fonction pour être @set_magic_quotes_runtime (0); Plus pris en charge dans PHP 5.4, et ne pas supprimer ou désactiver la fonction

2
Ams Naser

ajoutez ce code en haut de votre script pour résoudre le problème

@set_magic_quotes_runtime(false);
ini_set('magic_quotes_runtime', 0);
1

Mettre à jour cette fonction: 

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
  set_magic_quotes_runtime(0);
}
else {
  ini_set('magic_quotes_runtime', 0);
}
$magic_quotes = get_magic_quotes_runtime();
$file_buffer = fread($fd, filesize($path));
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if ($magic_quotes) {
  if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    set_magic_quotes_runtime($magic_quotes);
  }
  else {
    ini_set('magic_quotes_runtime', $magic_quotes);
  }
}

return $file_buffer;
0
Praveen Kumar

Dans PHP 7, nous pouvons utiliser:

ini_set('magic_quotes_runtime', 0);

au lieu de set_magic_quotes_runtime(0);

0
RAMIL T.K