关于php自动转义问题,配置里magic_quotes_gpc的历史遗留问题

今天朋友的网站又出问题了(由于刚迁到新的空间各种问题),于是就查了一番问题,发现php把数据decode

后变为了NULL,这很诡异啊,于是我在本地测,没有问题,接着我就上网查了一下,说是decode要求格式很严格

稍微不准确都会不行,于是我把数据用var_dump打了出来,发现被转义了,但是没有问题。

1.然后我做了第一种测试

我把这些数据(var_dump打印的数据,复制出来)直接decode,结果是可以的。(本地可以外网也可以)

2.直接获得数据decode

结果显示为NULL

我就纳闷了,这是为什么呢。。。。。

每次php版本升级,我都很少关心到底变了哪些内容,顶多下个最新版,这确实是个不好的习惯,

哈哈,现在不会了,我win的php是5.3,mac是5.6,外网服务器是5.2,总共3个版本

于是我就想了一下会不会是php版本问题(因为本地都可以的)

上网查了一下果然如此,在php.ini里有一个magic_quotes_gpc 选项,打开phpinfo ()发现他是ON的

该选项会将用户输入内容进行转义,php5.4之后版本已经移除,修改步骤如下

1.打开php.ini

2.查找magic_quotes_gpc所在位置

3.将NO 改成 Off

4.重启服务器

一切ok。



你可能感兴趣的:(php,php)