A few things may cause issues like this.
Webserver cannot make HTTP(s) requests to itself
If CiviCRM / PHP cannot make a request to the CiviCRM site itself, it will be unable to retrieve the dashboard data. This can happen for multiple reasons:
- Webserver is behind a proxy and proxy does not permit requests from internal network
- Webserver has DNS which won't deliver request to the webserver
- Webserver is not permitted to make HTTP requests
- Webserver fails SSL negotiation (PHP5.6 requires a valid certificate chain installed, see note below)
Misconfigured base URL / access URL
CiviCRM requires a single configured canonical base URL, and it might be that if this doesn't match the URL you're using then CiviCRM won't handle the dashboard requests correctly. Check that the value defined for CIVICRM_UF_BASEURL
in your civicrm.settings.php
corresponds to the URL you're using - including both schema (http://
or https://
) and hostname (example.org
or www.example.org
).
Because this can cause various issues, I recommend setting up an automatic redirect to prevent visitors viewing the site via the "wrong" URL (which will appear to work fine, except when it doesn't). See your webserver's documentation for how to do this - I think both Drupal and WordPress .htaccess
files contain example rewrite snippets?
PHP5.6 and SSL sites
A few reports are surfacing of the changed default in PHP v5.6 affecting sites ability to connect to themselves (and to CiviCRM.org). In addition to having your SSL certificate correctly installed, PHP requires a correctly installed certificate chain to connect to SSL sites (including the local site). If your CA chain is outdated on the webserver, this may lead to failed dashboard and other issues when communicating with remote sites using SSL (payment processors, CiviCRM.org, and local requests such as dashboard widgets and API over HTTP).