服务“acme.file_uploader”依赖于不存在的服务“请求”

Posted

技术标签:

【中文标题】服务“acme.file_uploader”依赖于不存在的服务“请求”【英文标题】:The service "acme.file_uploader" has a dependency on a non-existent service "request" 【发布时间】:2018-01-16 00:39:52 【问题描述】:

我正在开发 symfony3,并在 services.yml 文件中添加了以下代码

    punk_ave.file_uploader:
    class: FD\PatientBundle\Services\FileUploader
    public: true
    arguments:
      - file_base_path: '%file_uploader.file_base_path%'
        web_base_path: '%file_uploader.web_base_path%'
        request: '@request'
        #file_manager: '@punk_ave.file_uploader_file_manager'
        allowed_extensions: '%file_uploader.allowed_extensions%'
        #sizes: '%file_uploader.sizes%'
        originals: '%file_uploader.originals%'
        max_number_of_files: '%file_uploader.max_number_of_files%'
    scope: request

我收到了这个错误:

服务“acme.file_uploader”依赖于一个不存在的服务“request”。

谁能告诉我“请求”参数有什么问题?

提前致谢

【问题讨论】:

只要摆脱你碰巧使用的任何教程。 @request 几年前就消失了,所以它已经完全过时了。这只是您将遇到的许多问题中的第一个。 【参考方案1】:

服务@request 不存在,也许你想要@request_stack

request: '@request_stack'

如果您不完全了解,请尝试在命令行中启动:

bin/console debug:container

您可以看到所有可用的服务

【讨论】:

我在 cmd 上运行了这个命令:"php bin/console debug:container" 但是,得到同样的错误信息。不知道如何解决这个错误 好的,所以您没有找到请求服务,对吗?也许是 request_stack ?请尝试一下 就像亚历山德罗说的,使用@request_stack@request 已在 2.8 afaik 中弃用并在 3 中删除。您可以在服务中访问 Request 对象,如下所述:https://symfony.com/doc/current/service_container/request.html(您可以使用 getCurrentRequestgetMasterRequest,具体取决于您的需要)跨度> 太棒了!如果这解决了您的问题,请接受答案以帮助其他人解决同样的问题,请@mobizen【参考方案2】:
request: '@request'

这行表示你调用了一个不存在的request服务。

【讨论】:

以上是关于服务“acme.file_uploader”依赖于不存在的服务“请求”的主要内容,如果未能解决你的问题,请参考以下文章

Express:cors 配置是不是依赖于服务器 TTL?

服务“fos_user.mailer”依赖于不存在的服务“模板”

失败的作曲家更新,依赖于非存在的服务

为 Component 提供一个依赖于组件 @Input 的服务实例

GMS 服务更新会杀死 android 设备中当前正在运行的进程/服务,这些进程/服务依赖于 GMS

服务“admin.category”依赖于不存在的服务“sonata.admin.manager.orm”