I've updated a development server from Drupal 5.7 to Drupal 5.10 without issues. Now, I'm attempting to migrate the changes to the production server. When I run update.php I'm getting a White Screen of Death and the log shows errors like:

Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/html/modules/system/system.install on line 1506".

The relevant part of system.install is but, I think this is just a clue:

1504	function system_update_134() {
1505  		$ret = array();
1506  		$ret[] = update_sql('ALTER TABLE {blocks} DROP types');
1507	return $ret;
1508	}

The system.install file has not been modified, so the root cause must be external to this file.

Simply accessing index.php yields this error:

Notice: unserialize() [function.unserialize]: Error at offset 5 of 8 bytes in /var/www/html/includes/bootstrap.inc on line 390

The relevant part of bootstrap.inc:

388  $result = db_query('SELECT * FROM {variable}');
389      while ($variable = db_fetch_object($result)) {
390      $variables[$variable->name] = unserialize($variable->value);
391   }

Ideas or suggestions on how to troubleshoot from here?

Comments

TallDavid’s picture

After extensive research and a helpful pointer by tr_ on #drupal_support, I was able to track down and resolve the problem. During the update of the production server from Drupal 5.7 to Drupal 5.10 a few files were not transferred. This resulted in a mixture of old and new Drupal files on the server. To make things more confusing, the system.info file was transferred (Drupal 5.10) while the system.install file (Drupal 5.7) was not.

What a mess! tr_'s sharp eyes noticed that the problematic code reported above was at a different line number in his Drupal 5.10 installation than I was reporting. This led me down the right path and the problem was quickly resolved.