我在共享服务器magic_quotes_gpc
处于打开状态。我曾尝试将以下代码添加到我的.htaccess
文件中。魔术引号创建问题
php_flag magic_quotes_gpc Off
当我在.htaccess
中使用上述行时,它会引发500个内部服务器错误。
即使我也试过使用ini_set
了。
问题出在CKEEditor上。它增加了双引号。编辑并不适当。我也经历了几个答案,但没有得到正确的答案。
请指导我。
PHP版本:5.3.24
我在共享服务器magic_quotes_gpc
处于打开状态。我曾尝试将以下代码添加到我的.htaccess
文件中。魔术引号创建问题
php_flag magic_quotes_gpc Off
当我在.htaccess
中使用上述行时,它会引发500个内部服务器错误。
即使我也试过使用ini_set
了。
问题出在CKEEditor上。它增加了双引号。编辑并不适当。我也经历了几个答案,但没有得到正确的答案。
请指导我。
PHP版本:5.3.24
根据the docs,magic_quotes_gpc
指令是PHP_INI_PERDIR
所以你应该能够改变它。
每当在您的活动服务器中看到“500内部服务器错误”状态代码时,您应该前往日志文件并找出确切原因(而不是猜测)。无论如何,我怀疑Apache是抱怨php_flag
指令是未知的。如果是这样的话,你的PHP解释器是而不是作为Apache模块运行,因此你不能使用Apache文件来改变它。
由于您的托管帐户似乎很旧,您可能会在您的FTP帐户的某个地方有一个自定义的php.ini
文件。
随着自定义php.ini的变化,解决了我的问题。感谢大家 –
如果无法通过任何手段禁用魔术引号,使用来自PHP手册中的示例代码作为一种解决方法剥除多余的斜线:http://php.net/manual/en/security.magicquotes.disabling.php:
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
这段代码(和这个问题一起)已经[复制/粘贴到足够的答案](https://www.google.com/#q=site%3Astackoverflow.com+%22%24process+%3D+array(% 26%24_GET%2C +%26%24_POST%2C +%26%24_COOKIE%2C +%26%24_REQUEST)%3B%22)..我们不需要继续复制它。 –
你有没有试过在'php.ini'中关闭此代码 – meda
没有。作为其共享服务器 –
获取新的虚拟主机 – jszobody