升级后不存在服务

问题描述 投票:0回答:1

我将 Contao 网站从 4.13.38 升级到 5.3.1。一切都很成功,Contao Manager 工作正常,但网站无法运行。该错误记录在 var/logs 中并指向不存在的服务“contao.image.image_sizes”:

Uncaught PHP Exception Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: "You have requested a non-existent service "contao.image.image_sizes". Did you mean one of these: "contao.image.imagine", "contao.image.imagine_svg", "contao.image.resizer", "contao.image.sizes"?" at Container.php line 263

{
"exception": 
"[object] (Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException(code: 0): You have requested a non-existent service "contao.image.image_sizes". Did you mean one of these: "contao.image.imagine", "contao.image.imagine_svg", "contao.image.resizer", "contao.image.sizes"? at /opt/testportal/vendor/symfony/dependency-injection/Container.php:263)"
}
{
"request_uri": "https://testportal/contao/login",
"request_method": "GET"
}

FE 和 BE 都不起作用。

这可能是什么问题?我在网上寻找解决方案,但虽然有类似的问题,但我没有找到真正的解决方案。

除了 contao-core 捆绑包之外,还安装和升级了 rocksolidthemes (madeyourday) 插件。

php symfony uncaught-exception contao
1个回答
0
投票

最后,

我们解决了问题。在文件夹配置中,应添加文件services.yaml,其中包含以下代码:

services:
    contao.image.image_sizes:
        class: Contao\CoreBundle\Image\ImageSizes
        public: true
        arguments:
          - '@database_connection'
          - '@event_dispatcher'
          - '@contao.translation.translator

这与 core-bundle 中服务 contao.image.sizes 的配置相同,但由于某种原因,系统正在搜索 contao.image.image_sizes。由于该服务不存在,我们将定义复制到缺失服务的名称下。

我在某个地方找到了这段代码,这可能就是系统搜索contao.image.image_sizes

的原因
public static function getImageSizes()
    {
        @trigger_error('Using System::getImageSizes() has been deprecated and will no longer work in Contao 5.0. Use the contao.image.image_sizes service instead.', E_USER_DEPRECATED);
        return static::getContainer()->get('contao.image.image_sizes')->getAllOptions();
    }
© www.soinside.com 2019 - 2024. All rights reserved.