interconnectit / Search-Replace-DB

This script was made to aid the process of migrating PHP and MySQL based websites. Works with most common CMSes.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
GNU General Public License v3.0
3.99k stars 850 forks source link

Incomplete or ill-typed serialization data #363

Open BigMarioss opened 3 years ago

BigMarioss commented 3 years ago

Hi, I run a "dry run" test but I get this error:

Incomplete or ill-typed serialization data:: This is usually caused by a plugin storing classes as a serialised string which other PHP classes can't then access. It is not possible to unserialise this data because the PHP can't access this class. P.S. It's most commonly a Yoast plugin that causes this error.

I tried to delete Yoast Seo but the error persist. Can you help me? Thank you.

shoebkhan4 commented 3 years ago

The same issue here

VA-PLE commented 2 years ago

The same issue

novoross333 commented 2 years ago

The same issue. Help please.

AlexandreBourrieau commented 2 years ago

Same issue...

jo-wp commented 2 years ago

Same issue .

hafidzaini commented 2 years ago

same issue 😰 with browser and CLI

hafidzaini commented 2 years ago

already solved this problem if you dont use yoast anymore, here is how to completely remove it from database. its look like when uninstall it, the plugin leave something on database

Aerendir commented 2 years ago

I've never installed Yoast, the website is clean, and I still receive this error... I think it is related to Elementor (and I cannot remove it, obviously).

So, how to solve this issue?

jun1432 commented 1 year ago

Same issue here. I see that this is posted since June 24, 2021 and still no replies from the developer.

DanielBloemer commented 1 year ago

The same issue here

netdesignate commented 1 year ago

I have the same issue. I have been researching this extensively, and I think it might be true to say that everyone that has declared having this issue (above in this view) is running this code against a WordPress DB. I noticed that the WordPress plugin called "Better Search Replace" had this comment in the plugin details page: "The search and replace functionality is heavily based on interconnect/it’s great and open-source Search-Replace-DB script, modified to use WordPress native database functions to ensure compatibility."

I don't know enough about this to comment, but I am hoping that someone reading this might - my feeling is that for basic search replace script runs, this serialization issue may not be an issue. I ran some tests on my database and the replacements were made successfully (I just replaced a test string from within a post on my WP site).

Any additional context would be highly appreciated!

f1rf1n commented 1 year ago

"same issue here" does not help anyone.
It is much more helpful to provide more information, a workaround, a bounty for a bugfix, or anything else that is useful.

That being said, I had this problem without ever having installed yoast, but there are other misbehaving modules out there. Try uninstalling those and see if the problem goes away. And report back here if you find a culprit!

Not sure what the problem was for me, but using the commandline (CLI) approach I still got the errors, but the replacements were done anyway. So problem solved, for me. I hope this helps someone else. Command to use is below, replace the [blah]s with the correct values for your setup.

php Search-Replace-DB/srdb.cli.php -h [databasehostname] -n [DBname] -u [DBuser] -p "[DBpasswd]" -s "[searchstring]" -r "[replacestring]" --verbose

yehudaTiram commented 1 year ago

Seems like this one is due to a mysql bug. Read the details here (Marco answer) https://stackoverflow.com/questions/39019722/mysqldump-breaks-output-when-using-char0-0-or-0x0 Note that he says that it has been fixed in Mysql version 5.7.1 I've found this when I compared the edit text (when click edit row in phpmyadmin) and the exported row in the table (I tried converting only 1 table so I can isolate it). In the edit text I get � in every place the shows /0 in the exported table. (Read the reference to https://bugs.mysql.com/bug.php?id=60920 in the answer by Marco) My solution was to remove all "/0" from the values and it worked, but I don't think this is a viable solution. I use MySQL 5.7.36 It seems like someone with more knowledge can deal with this.

matt7570 commented 1 year ago

Same issue here, but I just decided to ignore it, since I've never used Yoast. I've got everything replaced just fine, since I also checked the database with phpmyadmin.