在PHP 5.3中,可以启用“magic_quotes_gpc”吗?
我知道它在PHP 5.3中已被弃用,但我正在安装的PHP脚本需要这个,否则它将无效。
答案 0 :(得分:3)
答案 1 :(得分:3)
必须在.ini级别完成。它不能在使用ini_set()的脚本中完成,因为在处理ini_set()时,PHP已经完成启动并且已经设置了各种超全局数组(POST / GET / REQUEST / etc ...)并且不会被更改。
您可以使用Apache <Files>
指令启用每个脚本的设置,因为为所有PHP脚本启用魔术引号是一个可怕的想法:
<Files needs_gpc.php>
php_value magic_quotes_gpc 1
</Files>
答案 2 :(得分:2)
您可以使用以下简短脚本模拟magic_quotes:
$_GET = array_map("addslashes", $_GET);
$_POST = ...
请注意,实际上您需要recursive variant。当你在它时,你至少可以使用_real_escape_string
而不是addslashes
(如果您的数据库和连接仅使用ASCII,那么这实际上是允许的。)
要为所有脚本启用,请使用php.ini选项:
auto_prepend_file = .../fake_magic_quotes.php
至少在PHP 5.3中,仍然可以启用这个过时的功能。
答案 3 :(得分:0)
是的,它可以。默认情况下禁用该功能,但尚未删除。只需修改您的php.ini文件(或使用Marc B的建议,仅为特定脚本启用它)