Skip to content

dependency injection 7.4.0 breaks TYPO3 #62589

@Nemo64

Description

@Nemo64

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:flush

This 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions