如何在php中替换已弃用的set_magic_quotes_runtime?

时间:2010-02-07 19:24:55

标签: php deprecated

当我尝试运行我必须使用但不写的php脚本时,我收到此消息。

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

这是第1810行:

set_magic_quotes_runtime(0);

如果这是一个已弃用的函数,我可以用什么替换它?

非常感谢!

11 个答案:

答案 0 :(得分:68)

检查它是否在第一个。这应该摆脱警告,它将确保如果您的代码在旧版本的PHP上运行,那么魔术引号确实是关闭的。

不要像其他人建议的那样删除那行代码,除非你可以100%确定在PHP 5.3之前代码永远不会运行。

<?php
// Check if magic_quotes_runtime is active
if(get_magic_quotes_runtime())
{
    // Deactivate
    set_magic_quotes_runtime(false);
}
?>
PHP 5.3中不推荐使用

get_magic_quotes_runtime 资料来源:http://us2.php.net/get_magic_quotes_runtime/

答案 1 :(得分:19)

我使用FPDF v.1.53并且由于可能的副作用而不想升级。我根据Yacoby使用了以下代码:

第1164行:

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

第1203行:

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

答案 2 :(得分:6)

由于Magic Quotes现在默认关闭(并计划删除),您只需从代码中删除该函数调用。

答案 3 :(得分:5)

ini_set('magic_quotes_runtime', 0)

我想。

答案 4 :(得分:4)

您无需替换任何东西。设置magic_quotes_runtimeremoved in PHP6,因此不需要函数调用。如果要保持向后兼容性,最好将其包装在使用phpversion检查version_compare的if语句中

答案 5 :(得分:4)

升级到FPDF 1.6版。

答案 6 :(得分:2)

Gust在函数前添加前缀“@”为@set_magic_quotes_runtime(0); 在PHP 5.4中不再支持,并且不删除或禁用该功能

答案 7 :(得分:1)

将这些代码添加到脚本顶部以解决问题

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

答案 8 :(得分:1)

我通过删除那行代码来修复我的 将它们注释掉,效果很好。

//if(get_magic_quotes_runtime())
//  @set_magic_quotes_runtime(0);

答案 9 :(得分:0)

更新此功能:

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;

答案 10 :(得分:0)

在PHP 7中,我们可以使用:

ini_set('magic_quotes_runtime', 0);

代替set_magic_quotes_runtime(0);