apc-error in Upgrading Drupal from 7.0-rc1 to 7.0

I ran into an odd error upgrading Drupal from 7.0 RC1 to 7.0. The following is the message in apache's error log:

[Mon Jan 17 13:49:47 2011] [apc-error] Cannot redeclare class queryconditioninterface in 
/var/www/drupal-core/drupal-7.0/includes/database/database.inc on line 1648.

The solution is to temporarily disable APC (for example, by commenting out the relevant lines in the PHP configuration. In my particular case, this in /etc/php5/conf.d/apc.ini).

Version info:

PHP Version 5.3.2
Ubuntu 10.04
APC 3.1.3p1
Apache 2.2.14

Postscript. This problem seems to be caused by APC's handling of require_once. I'd set up APC to optimize this handling, and it seems that something in either the new Drupal code, or the updated APC behaviour, is incompatible with the optimization, because the problem cropped up again with the newly installed Drupal 7 after I re-enabled APC.

For now, it appears that the fix is to turn off the include_once optimization: apc.include_once_override = 0

The moral of the story is: turn off opcode caches and acceleration while upgrading. Is that written in the installation/upgrade instructions? Maybe it should be...

Comments

Thank you by pontus_nilsson (not verified)
Thanks by Morgan (not verified)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.

More information about formatting options