服务“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
(您可以使用 getCurrentRequest
或 getMasterRequest
,具体取决于您的需要)跨度>
太棒了!如果这解决了您的问题,请接受答案以帮助其他人解决同样的问题,请@mobizen【参考方案2】:
request: '@request'
这行表示你调用了一个不存在的request
服务。
【讨论】:
以上是关于服务“acme.file_uploader”依赖于不存在的服务“请求”的主要内容,如果未能解决你的问题,请参考以下文章
服务“fos_user.mailer”依赖于不存在的服务“模板”
为 Component 提供一个依赖于组件 @Input 的服务实例