2010-02-07 110 views
51

,当我尝试运行PHP脚本我有使用,但没有写我得到这个消息。如何在php中替换弃用的set_magic_quotes_runtime?

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); 

如果这是一个过时的功能,我能与取代它呢?

非常感谢!

回答

6

由于魔术引号现在是默认关闭的(和计划删除),你可以删除您的代码的函数调用。

+2

看到我为什么这可能不是一个很好的答案的想法(http://stackoverflow.com/questions/2217955/how-can-i-replace-the-deprecated-set-magic-quotes-runtime-in-php/2218021#2218021) – philfreo 2010-02-07 19:45:55

3

你不需要任何东西来代替它。设置magic_quotes_runtimeremoved in PHP6所以函数调用是不必要的。如果你想保持向后兼容性,如果语句中使用version_compare

+1

并回到这与代码: 'if(version_compare(PHP_VERSION,'5.3.0','<'))set_magic_quotes_runtime(0);' – 2013-10-08 09:39:37

4
ini_set('magic_quotes_runtime', 0) 

我想检查phpversion它可能是明智的,把它包在一个。

+0

ini_set的magic_quotes_runtime选项也在PHP 6.0.0 – Shawn 2010-02-10 20:25:16

64

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

不要只是删除了这一行的代码被别人的建议,除非你可以肯定100%的代码将永远不会被任何东西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在PHP 5.3中不推荐使用。
来源:http://us2.php.net/get_magic_quotes_runtime/

+0

中删除+1,很好的解释。 – 2010-02-07 20:32:06

+0

@stereofrog - 你确定吗?我没有测试过,但get函数没有显示在文档中,而set函数显然是这样。 – philfreo 2010-02-08 04:24:04

4

升级到版本1.6的FPDF。

14

我使用了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); 
} 
+0

这确实是最好的解决方案。 +1 – 2013-10-08 09:40:31

2

阵风添加前缀 “@” 的函数之前是@set_magic_quotes_runtime(0) ; 不是在PHP 5.4支持了,也不要删除或禁用该功能

1

添加这些代码到你的脚本的顶部来解决问题

@set_magic_quotes_runtime(false); 
ini_set('magic_quotes_runtime', 0); 
相关问题