Wordpress奇怪的序列化问题

时间:2016-10-21 02:04:12

标签: php wordpress serialization

所以我们遇到了这个奇怪的WP错误,其中重写规则在我们的生产环境中没有正确刷新。在调试时,我发现这个有趣的问题我认为可能是原因。

$serialized_value = maybe_serialize( $value, $option );

if ($option == 'rewrite_rules') {
    error_log(print_r($serialized_value,true));
}

显示与

不同的内容
$serialized_value = maybe_serialize( $value, $option );
if ($option == 'rewrite_rules') {
    print_r($serialized_value);
}

error_log版本更大且版本正确。 print_r较小,不是很大且版本不正确。这是WP中用于序列化的函数。

function maybe_serialize( $data, $option ) {
if ( is_array( $data ) || is_object( $data ) ) {
        $newdata = serialize( $data );
        return $newdata;

}

// Double serialization is required for backward compatibility.
// See https://core.trac.wordpress.org/ticket/12930
// Also the world will end. See WP 3.6.1.
if ( is_serialized( $data, false ) )
    return serialize( $data );

return $data;
}

为什么它会以不同的方式显示?

0 个答案:

没有答案