2

I've got a WordPress site here (CiviCRM 4.7.17, upgraded recently from 4.7.15) which has two different civicrm.settings.php files:

  1. wp-content/plugins/civicrm/civicrm.settings.php
  2. wp-content/uploads/civicrm/civicrm.settings.php

File #1 contains the correct settings, and files #2 appears to have outdated settings.

Questions:

  • Which is the correct path in CiviCRM 4.7?
  • Can I just delete the one with the wrong path (after I ensure the correct one is in the right place)?
  • Is the whole directory wp-content/{uploads,plugins}/civicrm in the same boat -- that is, is just one of them needed, and if so, what's the correct path for that directory?
3

The recommended location is wp-content/uploads/civicrm/civicrm.settings.php.

The deprecated location, still supported as of April 2017, was wp-content/plugins/civicrm/civicrm.settings.php, but this is both easy to break on upgrade ("whoops, I removed the old plugin and the settings files, and I don't have backups!") and on some sites is not a writeable location (where people prefer to not have WordPress able to modify its own codebase).

This can be seen in civicrm-wordpress/civicrm.php at line 103 and is documented in CRM-16408. Code docs refer to this as "the 4.6 and prior location" so I guess that tells us it's new to 4.7.

It looks like this was applied to all the related files, a WP site I set up the other day had everything in wp-content/uploads AFAICT, which seems like an improvement.

However, I noticed that civicrm.php looks like it gives preference to the deprecated location. IDK if there is a specific reason to this - it feels like it might set up a surprise for some sites if that behaviour ever changes?

  • This makes sense with what I'm seeing. Thanks Chris. – TwoMice Apr 4 '17 at 18:15
  • Hi! 😀 It surprised me too, I only ran into it two days ago. – Chris Burgess Apr 4 '17 at 18:17

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.