如何替换 PHP7.4 中的 get_magic_quotes_runtime()

How to replace get_magic_quotes_runtime() in PHP7.4

根据文档,get_magic_quotes_runtime 函数在 PHP 7.4 中已弃用。

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

如何用具有相同功能的有效代码替换它?

一个特定的例子PunBB v1.4.5,文件:common.php第18行:

// Turn off magic_quotes_runtime
if (get_magic_quotes_runtime()) {
    @ini_set('magic_quotes_runtime', false);
}

好吧,它是对 magic_quotes_runtime 的引用,自 PHP 5.3 and REMOVED in PHP 5.4 起它本身已被弃用,因此您无需在 PHP 7.4[=15= 中使用 get_magic_quotes_runtime ]

所以您可以简单地相应地更新您的代码:

/***
 * Turn off magic_quotes_runtime
 * this function serves no purpose
if (get_magic_quotes_runtime()) {
    @ini_set('magic_quotes_runtime', false);
}
***/

编辑:这只是一个示例,您可以简单地删除显示的代码 ;-)

正确的替代方法是不使用。你可以通过

if(version_compare(PHP_VERSION, '7.4.0', '<') && get_magic_quotes_runtime()) {
    @set_magic_quotes_runtime(0);
}

magic_quotes_runtimePHP 5.4.0 起始终 returns false,自 PHP 7.4.0 起已弃用,自 PHP 8.0.0 起已移除。正确的方法是不要在最新版本中使用它:

// get_magic_quotes_runtime
$mqr = false;
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
  $mqr = get_magic_quotes_runtime();
}

...

// set_magic_quotes_runtime
$mqr = true;
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
  set_magic_quotes_runtime($mqr); 
}