-2

I recently moved my site to a new host and got it all working then tried to set up a development replica site in a subdirectory but did something wrong. When I tried to log into my test site it logged into my main site. I also updated my PHP from 5.3.21 to 5.4 around the same time. I now have some errors on my site that I can't seem to work out. and I have lost one of my blog pages I have written too. Since I have downgraded PHP on my server to 5.3.26 (it said 5.3.21 had deprecated) I have restored my database to a previous backup (before the errors) and I have completely deleted the test site I created. Yet still my errors continue.

I can't update my database through drupal, or run cron or flush my caches. And when I try to rebuild my registry I get an out of memory error at 30mb but my limit is right up at 600mb and this is working for my site generally.

The errors:

Fatal error: Call to undefined method stdClass::import() in /home/mysite/sites/all/modules/rules/includes/rules.core.inc on line 128,

Notice: unserialize() [function.unserialize]: Error at offset 229255 of 851457 bytes in DrupalDatabaseCache->prepareItem() (line 434 of /home//public_html/includes/cache.inc). Notice: unserialize() [function.unserialize]: Error at offset 152479 of 183944 bytes in DrupalDatabaseCache->prepareItem() (line 434 of /home//public_html/includes/cache.inc). Warning: Invalid argument supplied for foreach() in rules_filter_array() (line 901 of /home//public_html/sites/all/modules/rules/rules.module). Notice: unserialize() [function.unserialize]: Error at offset 229255 of 851457 bytes in DrupalDatabaseCache->prepareItem() (line 434 of /home//public_html/includes/cache.inc). Notice: unserialize() [function.unserialize]: Error at offset 152479 of 183944 bytes in DrupalDatabaseCache->prepareItem() (line 434 of /home//public_html/includes/cache.inc). Notice: unserialize() [function.unserialize]: Error at offset 7654 of 8836 bytes in DrupalDatabaseCache->prepareItem() (line 434 of /home//public_html/includes/cache.inc). Warning: Invalid argument supplied for foreach() in field_attach_load() (line 660 of /home//public_html/modules/field/field.attach.inc).

If anyone help me I would really appreciate it! I am starting to think I might need to rebuild completely but I really hope not.

  • Since the first error comes from Rules, try disabling it. – Letharion Jun 25 '13 at 13:50
  • excellent advice! disabling rules has completely removed all the errors and I can now update/ flush cache. Thanks you. Now to try re-enabling.... – saintslash Jun 25 '13 at 14:55
4

You made 2 big mistakes:

  1. You made 2 changes at once.

  2. You paid for hostings without overlap.

Now, set up virtual machine reflecting your old hosting. Restore your site from backup you made prior your experiments. Put it in maintenance mode. Clear all caches. Now that's what you want to pack for migration. Exclude data from cache_* tables and /sites/*/files/css & sites/*/files/js directories.

Erase files and database from your new production site, and upload the one with no cache. That should do it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.