7

I have just upgraded my Drupal 6 site to the latest CiviCRM 4.7.4 All seemed to go well except that when I try to export contact records (using primary fields). I get the following fatal error:

Fatal error: Can't use function return value in write context in ../public_html/sites/all/modules/civicrm/CRM/Export/BAO/Export.php on line 435

Steps I followed: 1. Search for contacts 2. Select Export option 3. Select Export Primary fields 4. Press continue

Some help would be hugely appreciated!

Thanks Davy

  • 1
    This is a good question! To solve your problem, we'll need to see the expanded debugging information. In CiviCRM, please go to Administer menu > System Settings > Debugging and Error Handling, select "Yes" to both "Enable Debugging" and "Display Backtrace", and press "Save". Repeat the problem that caused your error, and you'll see much a much more detailed error. Please update this question with the expanded error and backtrace - and don't forget to disable debugging/backtrace when you're done! – Jon G - Megaphone Tech Mar 19 '16 at 17:11
  • I enabled the debug settings as suggested but still only get the one line error. No backtrace info at all. I cleared caches, switched off drupal caching, cleared Civi caches, deleted content of templates_c directory, tried in Chrome and Safari... but still only the one line. :-( – Davy Ivins Mar 21 '16 at 9:27
6

Line 435 in CRM/Export/BAO/Export.php that your error message is referring to says:

if (!empty(self::defaultReturnProperty($exportMode))) {

This will give an error in all PHP versions below 5.5. From the PHP manual (http://php.net/manual/en/function.empty.php):

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error

You should be able to fix this by replacing lines 435-437 in Export.php with something like

  $key = self::defaultReturnProperty($exportMode);
  if ($key) {
    $returnProperties[$key] = 1;
  }
  • Yes! That fixed it. Thanks very much for your help. :-) :-) – Davy Ivins Mar 22 '16 at 7:32
  • I keep running afoul of this because my laptop has a later version of PHP than my live server. – DaveFF Mar 22 '16 at 9:10
  • Should this be considered a bug? Is it already set up? – G H Mar 29 '16 at 16:06
  • I have reported this in the CiviCRM issue queue at issues.civicrm.org/jira/browse/CRM-18279 so it will hopefully be fixed in the next version. – reswild Mar 31 '16 at 9:14

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.