当我尝试运行我必须使用但不写的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);
如果这是一个已弃用的函数,我可以用它替换它?
非常感谢你!
检查它是否在第一个。这应该摆脱警告,它将确保如果您的代码在旧版本的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/
在PHP 7中我们可以使用:
ini_set('magic_quotes_runtime', 0);
而不是set_magic_quotes_runtime(0);
我使用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);
}
由于Magic Quotes现在默认关闭(并计划删除),您只需从代码中删除该函数调用即可。
ini_set('magic_quotes_runtime', 0)
我猜。
您无需替换任何东西。设置magic_quotes_runtime
是removed in PHP6所以函数调用是不需要的。如果你想保持向后兼容性,将它包装在使用phpversion检查version_compare的if语句中可能是明智的
升级到FPDF 1.6版。
Gust在函数前添加前缀“@”为@set_magic_quotes_runtime(0);在PHP 5.4中不再支持,并且不删除或禁用该功能
将这些代码添加到脚本的顶部以解决问题
@set_magic_quotes_runtime(false);
ini_set('magic_quotes_runtime', 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;