4

I set up Drupal and CiviCRM on a shared server by using IPaddress/userid. Now I have changed the DNS servers for the domain-name and can access Drupal OK using www.domain-name CiviCRM is shown on the menu but when I click on it I get a revolving circle and the dashboard never come up. Still works fine if I use IPaddress/userid/ to get to Drupal and then CiviCRM

I have changed the URLs in "Settings - Resource URLs" and "Settings - Cleanup Caches and Update Paths" But that has not helped.

Looking at posts on various forums it would appear I have to "Move" CiviCRM and maybe Drupal.

I looked at the question "How to correct domain in URLs after a change?" on this site but could not find any of the mentioned items in my civicrm.settings.php

These include define( 'CIVICRM_UF_BASEURL' and $civicrm_root = '/home/path_to_html/sites/all/modules/civicrm'; define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/home/path_to_html/sites/default/files/civicrm/templates_c/' );

I have pasted the contents of the civicrm.settings.php that is in the sites/all/modules/civicrm directory below. There are no other civicrm.settings.php files in higher directories.

Could someone please confirm that I need to "move" the site by saving the DB and creating a new CiviCRM and then loading the saved data (leaving some bits out) into the new database?

Thanks Greg

<?php

/**
 * This function has been copied from DRUPAL_ROOT/includes/bootstrap.inc
 */

/**
 * Locate the appropriate configuration file.
 *
 * Try finding a matching configuration directory by stripping the
 * website's hostname from left to right and pathname from right to
 * left.  The first configuration file found will be used, the
 * remaining will ignored.  If no configuration file is found,
 * return a default value '$confdir/default'.
 *
 * Example for a fictitious site installed at
 * http://www.drupal.org/mysite/test/ the 'settings.php' is
 * searched in the following directories:
 *
 *  1. $confdir/www.drupal.org.mysite.test
 *  2. $confdir/drupal.org.mysite.test
 *  3. $confdir/org.mysite.test
 *
 *  4. $confdir/www.drupal.org.mysite
 *  5. $confdir/drupal.org.mysite
 *  6. $confdir/org.mysite
 *
 *  7. $confdir/www.drupal.org
 *  8. $confdir/drupal.org
 *  9. $confdir/org
 *
 * 10. $confdir/default
 *
 */

function civicrm_conf_init() {
    global $skipConfigError;

    static $conf = '';

    if ($conf) {
        return $conf;
    }

    /**
     * We are within the civicrm module, the drupal root is 2 links
     * above us, so use that
     */
    $currentDir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
    if ( file_exists( $currentDir . 'settings_location.php' ) ) {
        include $currentDir . 'settings_location.php';
    }

    if ( defined( 'CIVICRM_CONFDIR' ) && ! isset( $confdir ) ) {
        $confdir = CIVICRM_CONFDIR;
    } else {
        // make it relative to civicrm.config.php, else php makes it relative
        // to the script that invokes it
        $moduleDir  = 'sites' . DIRECTORY_SEPARATOR . 'all' . DIRECTORY_SEPARATOR . 'modules';
        $contribDir = $moduleDir . DIRECTORY_SEPARATOR . 'contrib';
        // check to see if this is under sites/all/modules/contrib or subdir civicrm-core
        if ( strpos( $currentDir, $contribDir ) !== false || strpos( $currentDir, 'civicrm-core' ) !== false) {
            $confdir = $currentDir . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..';
        // check to see if this is under sites/all/modules
        } else if ( strpos( $currentDir, $moduleDir ) !== false ) {
            $confdir = $currentDir . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..';
        } else if ( strpos( $currentDir, 'plugins' . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm' ) !== false ) {
             //if its wordpress
            $confdir = $currentDir . DIRECTORY_SEPARATOR . '..';
        } else {
            $confdir = $currentDir . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR;
        }
    }

    if ( file_exists( $confdir . DIRECTORY_SEPARATOR . 'civicrm.settings.php' ) ) {
        return $confdir;
    }

    if ( ! file_exists( $confdir ) && ! $skipConfigError ) {
        echo "Could not find valid configuration dir, best guess: $confdir<br/><br/>\n";
        exit( );
    }

    $phpSelf  = array_key_exists( 'PHP_SELF' , $_SERVER ) ? $_SERVER['PHP_SELF' ] : '';
    $httpHost = array_key_exists( 'HTTP_HOST', $_SERVER ) ? $_SERVER['HTTP_HOST'] : '';

    $uri    = explode('/', $phpSelf );
    $server = explode('.', implode('.', array_reverse(explode(':', rtrim($httpHost, '.')))));
    for ($i = count($uri) - 1; $i > 0; $i--) {
        for ($j = count($server); $j > 0; $j--) {
            $dir = implode('.', array_slice($server, -$j)) . implode('.', array_slice($uri, 0, $i));
            if (file_exists("$confdir/$dir/civicrm.settings.php")) {
                $conf = "$confdir/$dir";
                return $conf;
            }
        }
    }

// FIXME: problem spot for Drupal 5.1 config dir layout
$conf = "$confdir/default";
return $conf;
}

$settingsFile = civicrm_conf_init( ) . '/civicrm.settings.php';
define('CIVICRM_SETTINGS_PATH', $settingsFile);
$error = @include_once( $settingsFile );
if ( $error == false ) {
    echo "Could not load the settings file at: {$settingsFile}\n";
    exit( );
}

// Load class loader
global $civicrm_root;
require_once $civicrm_root . '/CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register();
  • Can you clarify what the "the mentioned items in my civicrm.settings.php" might be? – petednz - fuzion Oct 22 '15 at 6:10
  • What are your Drupal and CiviCRM versions and who is your host? – Hershel Oct 22 '15 at 18:35
4

On your civicrm.settings.php, you have a line

define( 'CIVICRM_UF_BASEURL', 'http://42.42.42.42' );

with the numbers being your real ip address. You need to modify and replace that with your domain name

Once that's done, clear all caches again and it should work

X+

  • That is one of the items I could not find in the civicrm.settings.php file. I have pasted my file to the question – Greg Williams Oct 22 '15 at 13:09
  • @GregWilliams -- at a glance, that doesn't look like the right settings file to me. Did you get it in sites/default/civicrm.settings.php? – Laryn - CEDC.org Oct 22 '15 at 14:00
  • 1
    You were correct I was looking in the wrong place - have found the correct file and made the change. Problem fixed!! What a great group you all are many thanks. – Greg Williams Oct 24 '15 at 3:05
1

You're looking in the wrong place for civicrm.settings.php. Check /sites/default/civicrm.settings.php (or wherever your Drupal settings.php is located, if it's not in /sites/default)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.