看起来我已经为这个帖子获得了2次投票。这个帖子可以帮助那些对Joomla或其他PHP驱动的CMS了解不足的人,因为它帮助了我。
@Gadoma在这个帖子中解决的问题是我无法使用Joomla中的HTML模块输出任何HTML内容,因为它在我尝试更新链接和图像时自动添加引号和斜杠锚标签和img标签。 这种情况发生在我身上,因为php的Magic Quote由于某些原因而被打开。
谁真正面临这类问题?
简而言之,拥有共享托管和PHP或CMS驱动的网站的人实际上面临着这种奇怪的问题,因为他们无法访问其服务器的根目录来修改.htaccess和php.ini文件以便禁用神奇的报价。
我想获得哪种解决方案?为什么?
我尝试了几乎所有在网络上找到的解决方案,包括这个网站。虽然有些人对解决方案给予了肯定的答复,但我不确定为什么它对我不起作用。 但是当我厌倦了寻找禁用Magic Quote的方法时,我想知道是否有任何方法可以手动为此目的服务。 @Gadoma提供了我正在寻找的确切解决方案。
解决方案是什么?
如果一切都失败了,而且你不是像我这样的服务器配置专家,你应该受益于这个线程。 只需查看@Gadoma提供的解决方案,这个问题应该消失。 我将再次复制并粘贴解决方案,
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);
}
将上述功能放在[Joomla安装目录] /Administrator/index.php的顶部 希望这个帖子可以帮助别人。
答案 0 :(得分:1)
有许多方法可以禁用魔法qoutes,请查看Joomla网站上的这篇文章。
http://docs.joomla.org/How_to_turn_off_magic_quotes_gpc_for_Joomla_3
或搜索SO,有很多关于它的线索。
如果您仍然无法管理关闭Magic Quotes,则可以使用此解决方法 (source - php manual - click here):
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);
}
将上述功能放在[Joomla安装目录] /Administrator/index.php
的顶部还要考虑到指令magic_quotes_gps已在PHP> = 5.4中删除,所以 如果你在PHP> = 5.4上运行它,get_magic_quotes_gpc()将始终返回false。