-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Description
Symfony version(s) affected
7.4.0
Description
Since Friday, I noticed that my TYPO3 projects were all breaking.
The reason behind this (i assume) is that the error tolerance of the dependency injection now checks for services that are not being used.
Here is a file from the install tool that has a dependency on the reporting extension.
typo3/typo3/sysext/install/Classes/Report/EnvironmentStatusReport.php at main · TYPO3/typo3
It is always configured as a service:
typo3/typo3/sysext/install/Configuration/Services.yaml at main · TYPO3/typo3
If the reporting extension is not installed, then the service is also never used.
With symfony/dependency-injection:7.3, the service was either never looked into or the error was ignored.
With 7.4, it now is throwing an error.
Uncaught TYPO3 Exception Interface "TYPO3\CMS\Reports\StatusProviderInterface" not found
thrown in file /var/www/vendor/typo3/cms-install/Classes/Report/EnvironmentStatusReport.php
in line 34
I already found other reports of it: Neue symfony/dependency-injection Paketversion 7.4 kann TYPO3 Systeme brechen – T3Bootstrap News – TYPO3 Template
And there are many TYPO3 extensions, like the headless and the SEO extension in typo3 that seem to depend on the old behavior, that unused services are never looked at.
How to reproduce
Install a basic TYPO3 (you don't need to configure it)
composer create-project "typo3/cms-base-distribution:^13" --prefer-dist --ignore-platform-reqs
cd cms-base-distribution
vendor/bin/typo3 cache:flushThis results in
Uncaught TYPO3 Exception Interface "TYPO3\CMS\Reports\StatusProviderInterface" not found
thrown in file /Volumes/Workspace/typo3-test-25-12-01/cms-base-distribution/vendor/typo3/cms-install/Classes/Report/EnvironmentStatusReport.php
in line 34
If you then downgrade:
composer req -W symfony/dependency-injection:7.3.x --ignore-platform-reqs
vendor/bin/typo3 cache:flush
You get the "no database configured", which is expected:
In ConnectionPool.php line 138:
The requested database connection named "Default" has not been configured.
cache:flush [-g|--group [GROUP]]
Possible Solution
No response
Additional Context
No response