I have found the following error after installing CiviCRM through uploading the ZipFile. I haven't found any thread with this specific incompatibility. Both Plugins, Matomo and CiviCRM work just fine if I deactivate one of them.

I've gotten as far as understanding that these PEAR is being called twice but I don't understand how to solve/nor approach this.

An Error of type E_COMPILE_ERROR was found on line 793 of file /kunden/507980_20457/wp_2022/wordpress/wordpress/wp-content/plugins/matomo/app/vendor/pear/pear-core-minimal/src/PEAR.php. Error: Cannot redeclare _PEAR_call_destructors() (previously declared in /kunden/507980_20457/wp_2022/wordpress/wordpress/wp-content/plugins/civicrm/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php:795)

  • CiviCRM Version:5.62.1
  • Matomo (formerly known as Piwik) Version: 4.14.2

2 Answers 2


I'm in the same boat. i have exactly the same problem. I don't know how to code a fix.

I will stick with devil G4 while waiting for an input from the community


We've struggled with similar plugin conflicts between CiviCRM and Tickera. Both are must-have items for my organization. As I understand it, it happens because Wordpress by default includes all plugin code in one giant namespace, and when plugins use common open-source libraries like PEAR then conflicts between multiple copies become possible. I don't have a solution but a few suggestions for things to try.

  1. Communicate with the devs of both packages and ask them to modify their code to prevent the conflict. They might be willing, or might not. Worth a shot.
  2. Install the plugin Plugin Organizer, and use it prevent one of the conflicting plugins from loading on the other one's pages, and vice versa. PO is notoriously difficult to use, with a funky user interface, but worth the trouble to learn.
  3. The most extreme measure is to create a separate URL for CiviCRM access only. You would only do this if you have complete control over who needs to access the admin side of CiviCRM. If your main URL is example.org, you can create a subdomain at crm.example.org, with its own Wordpress database, but sharing the same CiviCRM database. In this second URL you would install no plugins except CiviCRM, so there's no conflicts. This subdomain would not be for the general public, only yourself and org staff. You'd want to carefully think through exactly what goes where - for example you probably want to make sure that Civimail still comes from your main URL.

We ended up using both #2 (to prevent conflicts on public pages) and #3 (to prevent conflicts on the admin side).

Hope that helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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