-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure Matomo is functional with PHP 8.4 #22471
Comments
Just a note: |
Fix PHP 8.4 deprecation: Implicitly marking parameter as nullable is deprecated, the explicit nullable type must be used instead - too many such cases in source. |
Also I have errors shown like this: Deprecated: DI\Definition\Resolver\ObjectCreator::setPrivatePropertyValue(): Optional parameter $className declared before required parameter $propertyValue is implicitly treated as a required parameter in /usr/local/www/matomo/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php on line 212 Deprecated: Constant E_STRICT is deprecated in /usr/local/www/matomo/vendor/symfony/var-dumper/Caster/ExceptionCaster.php on line 44 Deprecated: Constant E_STRICT is deprecated in /usr/local/www/matomo/vendor/symfony/var-dumper/Caster/ExceptionCaster.php on line 44 Deprecated: Constant E_STRICT is deprecated in /usr/local/www/matomo/vendor/symfony/var-dumper/Caster/ExceptionCaster.php on line 44 |
My checks are made with |
For PHP 8.4 we need to disable the error reporting for deprecation notices. While we were able to update all the deprecation notices caused in our code, we are not able to solve those that happen in the vendor libraries we are using. Unfortunately we can't update libraries like |
Neither |
how can I get proposed changes from GitHub? |
Not sure what you mean exactly @jostreff, can you elaborate? |
how to download version with patches for 8.4 compatibility from GitHub? |
@jostreff You can simply checkout the github project. Or is you want to have a Matomo package you can download one of the latest beta releases from https://builds.matomo.org/ |
Thanks, I have get https://builds.matomo.org/matomo-5.2.0-b5.tar.gz and extracted all files, overwriting my existing installation. The result is that matomo works, but it shows messages like this: Deprecated: DI\Definition\Resolver\ObjectCreator::setPrivatePropertyValue(): Optional parameter $className declared before required parameter $propertyValue is implicitly treated as a required parameter in /usr/local/www/matomo/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php on line 212 Deprecated: Zend_Db_Statement_Mysqli::_execute(): Implicitly marking parameter $params as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/libs/Zend/Db/Statement/Mysqli.php on line 183 Deprecated: Zend_Db_Statement::execute(): Implicitly marking parameter $params as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/libs/Zend/Db/Statement.php on line 294 Deprecated: Piwik\Updater::__construct(): Implicitly marking parameter $columnsUpdater as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Updater.php on line 64 Deprecated: Piwik\Plugin\Dimension\VisitDimension::shouldForceNewVisit(): Implicitly marking parameter $action as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Plugin/Dimension/VisitDimension.php on line 243 Deprecated: Piwik\CacheId::siteAware(): Implicitly marking parameter $idSites as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/CacheId.php on line 32 Deprecated: Piwik\Plugins\CoreHome\Columns\Metrics\CallableProcessedMetric::__construct(): Implicitly marking parameter $semanticType as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/plugins/CoreHome/Columns/Metrics/CallableProcessedMetric.php on line 22 Deprecated: Piwik\Plugins\Referrers\Columns\Campaign::shouldForceNewVisit(): Implicitly marking parameter $action as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/plugins/Referrers/Columns/Campaign.php on line 37 Deprecated: Piwik\Plugins\Referrers\Columns\Website::shouldForceNewVisit(): Implicitly marking parameter $action as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/plugins/Referrers/Columns/Website.php on line 23 Deprecated: Piwik\Archive\ArchiveInvalidator::getRememberedArchivedReportsThatShouldBeInvalidated(): Implicitly marking parameter $idSite as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 159 Deprecated: Piwik\Archive\ArchiveInvalidator::markArchivesAsInvalidated(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 274 Deprecated: Piwik\Archive\ArchiveInvalidator::addParentPeriodsByYearMonth(): Implicitly marking parameter $originalDate as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 432 Deprecated: Piwik\Archive\ArchiveInvalidator::markArchivesOverlappingRangeAsInvalidated(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 458 Deprecated: Piwik\Archive\ArchiveInvalidator::reArchiveReport(): Implicitly marking parameter $plugin as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 501 Deprecated: Piwik\Archive\ArchiveInvalidator::reArchiveReport(): Implicitly marking parameter $report as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 501 Deprecated: Piwik\Archive\ArchiveInvalidator::reArchiveReport(): Implicitly marking parameter $startDate as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 501 Deprecated: Piwik\Archive\ArchiveInvalidator::reArchiveReport(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 501 Deprecated: Piwik\Archive\ArchiveInvalidator::scheduleReArchiving(): Implicitly marking parameter $pluginName as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 585 Deprecated: Piwik\Archive\ArchiveInvalidator::scheduleReArchiving(): Implicitly marking parameter $startDate as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 585 Deprecated: Piwik\Archive\ArchiveInvalidator::scheduleReArchiving(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 585 Deprecated: Piwik\Archive\ArchiveInvalidator::markArchivesInvalidated(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Archive/ArchiveInvalidator.php on line 722 Deprecated: Piwik\DataAccess\Model::__construct(): Implicitly marking parameter $logger as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/DataAccess/Model.php on line 38 Deprecated: Piwik\DataAccess\Model::updateArchiveAsInvalidated(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/DataAccess/Model.php on line 111 Deprecated: Piwik\DataAccess\Model::updateRangeArchiveAsInvalidated(): Implicitly marking parameter $segment as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/DataAccess/Model.php on line 314 Deprecated: Piwik\Session\SessionAuth::__construct(): Implicitly marking parameter $userModel as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Session/SessionAuth.php on line 49 Deprecated: Piwik\Plugin\Report::getMetricsForTable(): Implicitly marking parameter $report as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Plugin/Report.php on line 1075 Deprecated: Piwik\Plugin\Report::getProcessedMetricsForTable(): Implicitly marking parameter $report as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Plugin/Report.php on line 1107 Deprecated: Piwik\Metrics\Formatter::formatMetrics(): Implicitly marking parameter $report as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/core/Metrics/Formatter.php on line 177 Deprecated: Zend_Exception::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /usr/local/www/matomo/libs/Zend/Exception.php on line 43 |
I forgot to mention also this message: |
Ah sorry, my fault. I thought we had released a beta after the fixed for PHP 8.4, but it had been released a couple of days before that. You may need to wait for the next beta or preview release, which might happen this or next week. |
https://www.php.net/ChangeLog-8.php#8.4.1 no new build published on builds.matomo.org still. |
This issue has been mentioned on Matomo forums. There might be relevant details there: |
Anything? At least new beta version published? |
@jostreff we plan to have a release candidate today/tomorrow and the final release in one or two weeks. |
@sgiehl First impressions with 5.2-RC1 under 8.4.1 - it works great! |
PHP 8.4 will be released on 21st Nov 2024 and we need to make sure that Matomo will work with this new version of PHP. That means a release needs to have happened by then.
It's still a few months away but figured to already create the issue now so we can schedule the issue in advance for around the time when the first RC releases come out.
The text was updated successfully, but these errors were encountered: