[wp-hackers] [GSoC 2011] Moving Wordpress

Piyush Mishra me at piyushmishra.com
Sun Mar 20 19:29:15 UTC 2011

Last year I was discussing this on the mailing list and Otto suggested a
really good way of allowing this.

function maybe_unserialize( $original ) {
       if ( is_serialized( $original ) ) // don't attempt to unserialize
               $fixed = preg_replace_callback(
                       $original );
               return @unserialize( $fixed );
       return $original;

On Mon, Mar 21, 2011 at 12:15 AM, Brian Layman
<wp-hackers at thecodecave.com>wrote:

> On 3/20/2011 2:09 PM, ErisDS (Hannah Wolfe) wrote:
>> I have a script which does all of the database stuff.
>> http://erisds.co.uk/projects/migrate
> Nice script.
> I hope you don't mind if I share some thoughts on it:
> You are taking some steps to replace the GUID for the posts. However, the
> GUID value, even if it has the old URL in there, really does not need to be
> changed.  In fact it is probably better to just leave it as is.  Your script
> would run faster if you didn't bother to change it. (That said, I've done
> the same thing in earlier migration scripts of my own).
> The major issue I see is that you do not unserialize option_value while you
> are updating the options table.  The problem with this is that because
> serialized strings encode the length of each string value, a simple
> replacement will corrupt the entire serialized value.  So if your script is
> run on a blog that has "Welcome to blahblahblah.com" in a text widget and
> you str_replace it with "Welcome to blah.com", the new site will have lost
> all widgets on every sidebar.  This could also be the case for someone
> linking to a privacy policy in theme options. If they type in a full URL
> instead of a relative url, then you lose all of the theme options.
> Serialized values are a MAJOR annoyance to anyone who regularly manipulates
> the database directly.  This is a very common issue in migration
> tools/tutorials. Talking about it here spreads the word...
> That said, Nice stuff. Thanks for sharing!
> Brian Layman
> http://eHermitsInc.com
> Managed WordPress Hosting
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers

Piyush Mishra
Life's Short, Live it to the maximum

More information about the wp-hackers mailing list