I installed the Dec 20 dev version just fine, but when I went to run the updatae.php routine later, I got this message:

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of db_change_field(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /var/www/vhosts/lacosanostrum.com/httpdocs/sites/default/modules/messaging/messaging.install on line 203

Looking at the offending file, this seems to be the function causing the error.

/**
 * Update schema field
 */
function messaging_update_6003() {
  $ret = array();
  db_change_field(&$ret, 'messaging_store', 'params', 'params', array('type' => 'text', 'not null' => TRUE, 'size' => 'big', 'serialize' => TRUE));
  return $ret;
}

Not sure if it's a bug or a server config thing on my part

Comments

cglusky’s picture

Get rid of the ampersand in line 203 in front of $ret so we do not pass by reference at call-time. PHP only allows you to do that in the function definition itself. I think the developers know that - I suspect a simple typo.

/**
* Update schema field
*/
function messaging_update_6003() {
  $ret = array();
  db_change_field($ret, 'messaging_store', 'params', 'params', array('type' => 'text', 'not null' => TRUE, 'size' => 'big', 'serialize' => TRUE));
  return $ret;
}
jose reyero’s picture

Status: Active » Fixed

Thanks, already fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.