Skip to content
Snippets Groups Projects
Commit ceafda03 authored by Benjamin Franzke's avatar Benjamin Franzke Committed by Richard Haeser
Browse files

[BUGFIX] Fix compatibility with symfony/dependency-injection:5.0

The recently released symfony 4.4 introduced a deprecation for
non-object services and so 5.0 dropped support.
That means we run into exception with symfony 5.0 when
we add synthetic non-object services. Symfony 5.0 contains
a type declaration that allows for objects only:

Argument 2 passed to
Symfony\Component\DependencyInjection\Container::set()
must be an object or null, bool given, called in
[…]/typo3/sysext/core/Classes/DependencyInjection/ContainerBuilder.php
on line 99
at
Symfony\Component\DependencyInjection\Container->set(
    '_early.env.is_unix',
    true
)

We provided four boolean services in v10.0 but never used
or documented these in core, therefore we drop them now:
 - env.is_unix
 - env.is_windows
 - env.is_cli
 - env.is_compoer_mode

These variales can actually be substitued by using dynamic
environment parameters (those are supported thanks to our
EnvVarProcessor):

 - "%env(TYPO3:isUnix)%"
 - "%env(TYPO3:isWindows)%"
 - "%env(TYPO3:isCli)%"
 - "%env(TYPO3:isComposerMode)%"

One more, internally used, boolean service is now migrated into
the internal boot.state service:

 - cache.disabled

Releases: master
Resolves: #89764
Change-Id: If40ef73fdce61a81732b9670876aec7c457648d5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62427


Reviewed-by: default avatarFrank Nägler <frank.naegler@typo3.org>
Reviewed-by: default avatarRichard Haeser <richard@maxserv.com>
Tested-by: default avatarFrank Nägler <frank.naegler@typo3.org>
Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarRichard Haeser <richard@maxserv.com>
parent 2137e330
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment