matomo-org / matomo-for-wordpress

Get a fully functioning Matomo Analytics for your WordPress. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Privacy is built-in. 100% data ownership, no one else can see your data. We love Pull Requests!
https://matomo.org
GNU General Public License v3.0
119 stars 25 forks source link

Compatibility issue with BackWPUp 4.0.1 #904

Closed studiomondiale closed 9 months ago

studiomondiale commented 1 year ago

Updating BackWPUp to the newly released 4.0.1 version results in the following fatal error:

Ein Fehler vom Typ E_COMPILE_ERROR wurde in der Zeile 210 der Datei /.../wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Container.php verursacht. Fehlermeldung: Declaration of DI\Container::has($name) must be compatible with Psr\Container\ContainerInterface::has(string $id): bool

Multiple users reporting the same issue over at the WordPress forums.

diosmosis commented 1 year ago

Hi @studiomondiale, thanks for the report. This should be fixed once #840 and #841 are completed, which we're currently working on.

seyfro commented 1 year ago

Please also check https://wordpress.org/support/topic/error-container-php-online-210/ which seems to be related (FYI: the issue occurs on my site too with the same error message, even if no other plugin is active)

diosmosis commented 1 year ago

Yes @seyfro, that is caused by the same issue (mutltiple wordpress plugins using different versions of the same php library). It will likely take a couple weeks to release a fix for it as it's not a simple thing to fix (it requires working around a limitation in the PHP programming language).

seyfro commented 1 year ago

thanks for the info - too bad there is no simple fix. Could you recommend any workaround? As I have this issue on several sites, this mean tracking will actually not work for weeks on this site which really is not an option (disabling other plugins is unfortunately also not an option, as those are more business critical)

diosmosis commented 1 year ago

@seyfro currently the options are:

I understand neither of these are ideal. If you know which plugins are at fault or can find them quickly, the first might work. I'm sorry I don't have a better answer for you.

seyfro commented 1 year ago

OK, thanks for the info - will try, anyway on one site I get the following error even if only Matomo is enabled as plugin, which is weird:

Fatal error: Uncaught InvalidArgumentException: The name parameter must be of type string, NULL given in /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Container.php:213 Stack trace: #0 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Reference.php(58): DI\Container->has('observers.globa...') #1 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(78): DI\Definition\Reference->isResolvable(Object(DI\Container)) #2 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Resolver/ParameterResolver.php(75): DI\Definition\Resolver\ResolverDispatcher->isResolvable(Object(DI\Definition\Reference)) #3 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(138): DI\Definition\Resolver\ParameterResolver->resolveParameters(Object(DI\Definition\ObjectDefinition\MethodInjection), Object(ReflectionMethod), Array) #4 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(71): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\AutowireDefinition), Array) #5 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(71): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\AutowireDefinition), Array) #6 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Container.php(390): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI\Definition\AutowireDefinition), Array) #7 /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Container.php(139): DI\Container->resolveDefinition(Object(DI\Definition\AutowireDefinition)) #8 /wp-content/plugins/matomo/app/core/Container/StaticContainer.php(81): DI\Container->get('Piwik\\EventDisp...') #9 /wp-content/plugins/matomo/app/core/EventDispatcher.php(25): Piwik\Container\StaticContainer::get('Piwik\\EventDisp...') #10 /wp-content/plugins/matomo/app/core/Piwik.php(871): Piwik\EventDispatcher::getInstance() #11 /wp-content/plugins/matomo/app/core/Application/Environment.php(104): Piwik\Piwik::postEvent('Environment.boo...') #12 /wp-content/plugins/matomo/classes/WpMatomo/Bootstrap.php(80): Piwik\Application\Environment->init() #13 /wp-content/plugins/matomo/classes/WpMatomo/Bootstrap.php(110): WpMatomo\Bootstrap->bootstrap() #14 /wp-content/plugins/matomo/classes/WpMatomo/Admin/SystemReport.php(137): WpMatomo\Bootstrap::do_bootstrap() #15 /wp-content/plugins/matomo/classes/WpMatomo/Admin/Menu.php(71): WpMatomo\Admin\SystemReport->__construct(Object(WpMatomo\Settings)) #16 /wp-includes/class-wp-hook.php(310): WpMatomo\Admin\Menu->add_menu('') #17 /wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(NULL, Array) #18 /wp-includes/plugin.php(517): WP_Hook->do_action(Array) #19 /wp-admin/includes/menu.php(161): do_action('admin_menu', '') #20 /wp-admin/menu.php(420): require_once('/home/htdocs/u4...') #21 /wp-admin/admin.php(158): require('/home/htdocs/u4...') #22 /wp-admin/plugins.php(10): require_once('/home/htdocs/u4...') #23 {main} thrown in /wp-content/plugins/matomo/app/vendor/php-di/php-di/src/Container.php on line 213

diosmosis commented 1 year ago

@seyfro That's definitely a different problem. Can you create a new github issue for it and include the system report for the instance that's experiencing it?

seyfro commented 1 year ago

well, that would be an idea, but unfortunately I can´t really produce the system report, as a fatal error occurs every time Matomo is activated :-/

diosmosis commented 1 year ago

@seyfro I see, I've created a new issue here as this is not related to the original issue: https://github.com/matomo-org/matomo-for-wordpress/issues/906. Can you reply to my question there?

R3v3ntlov commented 11 months ago

Hi, any news about the first topic? Is it fixed and WpBackup can be used with Matomo or we're still waiting something?

diosmosis commented 11 months ago

@R3v3ntlov plugin incompatibility issues will not be solved until #841 is finished and Matomo 5 is released. This work is currently our top priority for Matomo for WordPress.

diosmosis commented 9 months ago

BackWPUp should work with Matomo for WordPress 5.0 and above.

neostar commented 9 months ago

Confirmed to work with WordPress 6.4.3, Matomo Analytics plugin >=5.0.2 and BackWPup 4.0.2.