【问题标题】:The service "acme.file_uploader" has a dependency on a non-existent service "request"服务“acme.file_uploader”依赖于不存在的服务“请求”
【发布时间】: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 几年前就消失了,所以它已经完全过时了。这只是您将遇到的许多问题中的第一个。

标签: symfony symfony-2.1 symfony-3.3


【解决方案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服务。

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 2017-03-21
    • 2019-09-28
    • 2015-05-29
    • 2018-07-22
    • 2019-07-08
    • 2018-05-18
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多