当我尝试运行我必须使用但不写的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);
如果这是一个已弃用的函数,我可以用什么替换它?
非常感谢!
答案 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_runtime
为removed 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);