这是什么指令?

问题描述:

我已将网站移至新服务器,并且我注意到从数据库返回的字符串中有引号的字符串会自动用反斜线转义,所以我将其显示在我的HTML输出\'哪里有引用 - 我想知道是什么导致这个PHP指令?这是什么指令?

PHP或其他什么指令会导致这种情况?所有的任何帮助

感谢

更好地利用:var_dump(ini_get('magic_quotes_gpc'));

这将导致:字符串(1) “1”,如果启用,或字符串(0) “” 如果禁用。

IM怀疑你会得到你的脚本中显示的第一个选项,这样你可能要包括这样的:

php_value magic_quotes_gpc off 
php_value magic_quotes_runtime off 
在.htaccess文件

。假设您的主机允许通过.htaccess覆盖,这应该没问题。

+0

我得到'string(0)“”'回来了!我很确定魔术引号是关闭的。 Plus会不会影响从数据库返回并打印的内容?我认为这是全局请求变量? – Abs 2010-09-09 00:04:48

+1

它关闭。所以那不可能。你有没有移动你的数据库?如果是这样,是否可以在复制那些插入的逃生?在中,那些反斜杠现在存储在你的数据库中? – Amelia 2010-09-09 00:16:53

+0

很好的问题。调查。 – Abs 2010-09-09 09:57:55

魔术引号http://php.net/manual/en/security.magicquotes.php

当打开时,所有的'(单引号),“(双引号),\(反斜线)和NULL字符以逃脱。反斜杠自动这是相同的什么addslashes()作用

禁用:

实施例#1禁用毫安gic引号服务器端

在php.ini中将这些指令的值设置为Off的示例。有关更多详细信息,请阅读标题为“如何更改配置设置”的手动部分。

; Magic quotes 
; 

; Magic quotes for incoming GET/POST/Cookie data. 
magic_quotes_gpc = Off 

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. 
magic_quotes_runtime = Off 

; Use Sybase-style magic quotes (escape ' with '' instead of \'). 
magic_quotes_sybase = Off 

如果对服务器配置的访问不可用,则使用.htaccess也是一个选项。例如: 的php_flag magic_quotes_gpc的关

+0

尽管PHP是在新服务器上用'--enable-magic-quotes'编译的,'magic_quotes_gpc'和'magic_quotes_runtime'都是关闭的?! – Abs 2010-09-08 22:59:31

+0

@Abs'echo ini_get('magic_quotes_gpc')'的结果是什么?'在您看到此行为的脚本之一中放置并运行后的结果? – 2010-09-08 23:00:34

+0

这更奇怪 - 我无法获得回报!我看到一个空的字符串或空白空间。我编辑过相同的脚本来播种phpinfo,并且它说该指令已关闭。哦,等一下,这是罚款,因为它的设置关闭 - 它不会显示任何东西,对吧? – Abs 2010-09-08 23:08:42