• Hi,

    I do have an error in my logs from the plugin
    [03-Oct-2019 10:39:53 UTC] PHP Notice: BSR_DB::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “FS_Plugin” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in /www/wp-content/plugins/better-search-replace/includes/class-bsr-db.php on line 344

    This error is present since a couple of days now. No new plugins where installed, only updates from other plugins.
    What is the reason for this error, is it the better search and replace plugin ?
    Or is some other plugin or update the reason.
    I have this only on one site, the others that do have better search replace do not have this warning.
    Regards,

Viewing 6 replies - 1 through 6 (of 6 total)
  • Hi,

    +1 – I experince (nearly) the same issue when debug_log is activated. Error:

    [07-Oct-2019 16:09:21 UTC] PHP Notice: BSR_DB::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Deconf_Service_Analytics_GaData" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in [path]/wp-content/plugins/better-search-replace/includes/class-bsr-db.php on line 344.

    So – the error type is the same, but the reported class definition is different.

    This happened while using the plugin to check if a specific email address exists somewhere in the database (it doesn’t).

    Thanks for investigating this further.

    +1 for me too
    If I run BSR on the whole DB I end up with a 5Gb debug.log file, plus the search fails.
    I am using WP 5.3.
    Thanks
    S.

    +1 for me too

    If I try to run any search on wp_options table then it throws and error in apache log and error log takes up 5GB of space.

    Below is the error: BSR_DB::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "FS_Plugin" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition

    I recently migrated from php5.6 to php7.2 and I believe this issue has started after that

    • This reply was modified 5 years, 2 months ago by rohilv.

    I’m actually seeing the same issue on my end. I’ve used this plugin for a LONG while now, but this is the first time that I’m noticing it in the error logs.

    I was randomly debugging something else, when these errors popped up. A quick search led me to this post.

    Worth noting… I added an object-cache.php file into wp-content, and activated Memcached object caching. While the drop-in is present, a test run will scan all of the tables, then refresh (like normal), but then display the page as if you’ve just clicked on it. (ie: test search results are not present) I moved the object-cache.php file out of wp-content and the Search/Replace test search worked as expected.

    • This reply was modified 5 years, 1 month ago by splaquet. Reason: added object cache piece

    I deleted object-cache.php file. But the problem remains. Deactivated the cache plugin. But still this error.

    • This reply was modified 4 years, 8 months ago by Zexler.

    When this error occurs, seemingly, the serialized content gets replaced with a string “1”, regardless of whether the content matches with the search query. This was tested against post metadata.

    Effectively, this plugin destroys the serialized data on your website. I would not recommend using it.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘PHP Notice: BSR_DB::recursive_unserialize_replace(): The script tried to execut’ is closed to new replies.