Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\mysite\public\sites\all\modules\domain\domain_conf\domain_conf.module on line 37

I'm having issues setting up a local webserver for development of existing sites. I have single site drupal and joomla sites set up no problem but there is this one that has two sites in one Drupal installation using what I am assuming is Domain Access...

There are several issues appearing but the one above seems to be the most prevalent at the moment...

Line 37 is the foreach located here:

  // Flag that we have already loaded.
  $check = $domain['domain_id'];
  $data = array();
  $data = db_fetch_array(db_query("SELECT settings FROM {domain_conf} WHERE domain_id = %d", $domain['domain_id']));
  if (!empty($data)) {
    global $conf;
    $settings = domain_unserialize($data['settings']);
    // Overwrite the $conf variables.
    foreach ($settings as $key => $value) {
      if ($value === 'domain-conf-ignore') {
        continue;
      }

It is possible that there is an "unserialize error" coming from the serialized data in the domain_conf table...since I did a find/replace on everything for the development domain... However, when I look in the table it is a BLOB file.

Comments

fungku’s picture

I did another find/replace and changed the domain to match the same amount of characters as before and I have the same problem still.

agentrickard’s picture

Are you using a database other than MySQL?

See #686146: PostgreSQL problem with bytea for a similar issue.