Posted by mpaler on May 9, 2010 at 6:55pm
I hate to post petty stuff like this, but seems like this error is somehow related to Panthon/Pressflow setup and it's a pretty bad error.
My site is up and running fine, however, when I try to run cron, I get the following:
Fatal error: Cannot redeclare db_status_report() (previously declared in /var/www/mysite/subdomains/dev2/httpdocs/includes/database.mysqli.inc:23) in /var/www/mysite/subdomains/dev2/httpdocs/includes/database.mysql.inc on line 36Same thing from drush.
This site is part of a multisite installation, one for dev and one for production -- both sites render fine, however I get this error running cron on both.
There is very little on d.org on this topic, one thing suggests that all multisites not mix mysql & mysqli for $db_url in settings php. I've checked this..
Any thoughts are GREATLY appreciated...
Mike

Comments
I'm seriously loosing it. I
I'm seriously loosing it. I simply can't figure out what's going on and I really need to...
For debugging purposes, I tried renaming database.mysql.inc to database.mysql.inc.bak. Then running cron gives me this error:
The mysql error was: The database type 'mysql' is unsupported. Please use either 'mysql' or 'mysqli' for MySQL, or 'pgsql' for PostgreSQL databasesIf I refresh three times, site comes back with a cron failed msg.
Isn't that msg weird?
Use one db driver
According to your error:
Fatal error: Cannot redeclare db_status_report() (previously declared in /var/www/mysite/subdomains/dev2/httpdocs/includes/<strong>database.mysqli.inc:23</strong>) in /var/www/mysite/subdomains/dev2/httpdocs/includes/<strong>database.mysql.inc</strong> on line 36It looks like you are trying to use two database drivers for some reason. This is not good, but it's in your codebase. It is not a PANTHEON bug.
You will need to learn more about Drupal's database layer, or get someone with knowledge of that system to help you find the cause. Renaming your database .inc files is not recommended.
https://pantheon.io | http://www.chapterthree.com | https://www.outlandishjosh.com
Memcache prefixing
Josh,
You were right. Digging in on the db layer was the key. I examined database.inc, specifically function db_set_active() and used devel to output the value of $db_url and was able to get to the bottom of the problem.
It turns out older $db_url entries from my pre-migration to Mercury were being stored in the $db_url array (caching?) and messing up the whole show. Once I figured out that problem, this post helped me solve this issue:
http://groups.drupal.org/node/58838
The solution for me was to put the following in each settings file for each site:
$conf = array('memcache_key_prefix' => 'unique_value',
);
Where unique value can be any string as long as it's unique to that site.
Thanks for the pointer...
Mike
Multisite
Yes, there are a number of complexities trying to run multisite installations on Mercury, cache prefixing being one of them. This is why it's currently recommended only for the brave/experienced. ;)
https://pantheon.io | http://www.chapterthree.com | https://www.outlandishjosh.com