是否有PHP配置会自动转义双引号?

And*_*off 1 php

我想知道是否有人知道PHP设置会自动转义双引号.

我的问题是在我的本地服务器上,我将此字符串发布到服务器:

{"0":{"id":"19","goal":"34"},"1":{"id":"22","goal":"657675"},"2":{"id":"21","goal":"456"}}
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,在生产服务器上,我发布了相同的字符串,当我回显它时,它被更改为:

{\"0\":{\"id\":\"19\",\"goal\":\"34\"},\"1\":{\"id\":\"22\",\"goal\":\"657675\"},\"2\":{\"id\":\"21\",\"goal\":\"456\"}}
Run Code Online (Sandbox Code Playgroud)

我设法通过string_replace()调用来修复它,但我想知道为什么会发生这种情况.生产服务器和本地服务器使用相同的代码并更新为使用相同的数据,所以我假设必须由服务器设置引起差异,但我从未听说过这样做的设置.

有没有人经历过这样的事情?

Mik*_*ron 11

是.它被称为魔术行情:

http://php.net/manual/en/security.magicquotes.php

http://php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc

您通常希望将其关闭,并根据需要手动处理转义.

  • +1(打败我).我还建议阅读[本文档部分](http://php.net/manual/en/security.magicquotes.php)... (3认同)