zblog报错: magic_quotes_gpc 和 safe_mode
这几天 zblog 的一个问题让我很是受伤,每隔一段时间,12小时以上(没统计过)打开博客就会报错。
报错信息:(2)E_WARNING : Directive ’ magic_quotes_gpc’ is deprecated in PHP 5.3 and greater (register_shutdown_function) (150101) (Linux; kangle3.4.8; PHP 5.3.3; mysql; curl);(2)E_WARNING : Directive ‘safe_mode’ is deprecated in PHP 5.3 and greater (register_shutdown_function) (150101) (Linux; kangle3.4.8; PHP 5.3.3; mysql; curl);
然后我将 magic_quotes_gpc 和 safe_mode 百度了下,它们的作用就是自动帮你转义数据,提高了网站的安全性。但是php5.3已经不推荐使用这个函数,在php5.4的时候被废弃了,为的是让 PHP 开发者提高安全意识,而不是依赖这个函数。
知道原因了就好办了,在 php.ini 中修改成 off 就行了。
magic_quotes_gpc = off;
safe_mode = off;
如果是虚拟空间的话,则在 .htaccess 文件中禁用。
php_flag magic_quotes_gpc Off
php_flag safe_mode Off
我看了下 zblog 的源码,它是自定义了一个转义函数。
function _stripslashes(&$var)
{
if (is_array($var)) {
foreach ($var as $k => &$v) {
_stripslashes($v);
}
} else {
$var = stripslashes($var);
}
}
_stripslashes($_GET);
_stripslashes($_POST);
_stripslashes($_COOKIE);
_stripslashes($_REQUEST);
终于可以愉快的玩耍了~
这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。